diff options
| author | Stephen Peasley <stephenpeasley@hotmail.com> | 2013-09-28 22:39:11 -0600 |
|---|---|---|
| committer | Stephen Peasley <stephenpeasley@hotmail.com> | 2013-09-28 22:39:11 -0600 |
| commit | 7891ba00141725d05814d240e1717ad4d24f63e5 (patch) | |
| tree | bc53566ce0974130e4d705199a31ba2d47c5e02b | |
| parent | 156c851ccf35a864ab2c18ef85d5ac38d7e9bc39 (diff) | |
Separated MovieLibrary and Movie into modules. Fixed earlier error.
| -rw-r--r-- | lib/movie.rb | 9 | ||||
| -rw-r--r-- | lib/movielibrary.rb | 25 | ||||
| -rw-r--r-- | spec/lesson_three/movie_library_spec.rb | 48 | ||||
| -rw-r--r-- | spec/review01_spec.rb | 3 |
4 files changed, 47 insertions, 38 deletions
diff --git a/lib/movie.rb b/lib/movie.rb new file mode 100644 index 0000000..3162325 --- /dev/null +++ b/lib/movie.rb @@ -0,0 +1,9 @@ +module Movie + + class Movie + def initialize(name) + @name = name + end + end + +end
\ No newline at end of file diff --git a/lib/movielibrary.rb b/lib/movielibrary.rb new file mode 100644 index 0000000..70bbd0e --- /dev/null +++ b/lib/movielibrary.rb @@ -0,0 +1,25 @@ +module MovieLibrary + + class MovieLibrary + def initialize(movies = []) + @movies = movies + end + + def add(movie) + @movies.push(movie) unless include? movie + end + + def total_count + @movies.size + end + + def include?(movie) + match = false + @movies.each do |m| + match = true if m == movie + end + match + end + + end +end
\ No newline at end of file diff --git a/spec/lesson_three/movie_library_spec.rb b/spec/lesson_three/movie_library_spec.rb index 5512c7a..a22a7ed 100644 --- a/spec/lesson_three/movie_library_spec.rb +++ b/spec/lesson_three/movie_library_spec.rb @@ -1,41 +1,17 @@ require "spec_helper" +require "movielibrary" +require "movie" -class Movie - def initialize(name) - @name = name - end -end - -class MovieLibrary - def initialize(movies = []) - @movies = movies - end - - def add(movie) - @movies.push(movie) unless include? movie - end +describe MovieLibrary do - def total_count - @movies.size - end + include MovieLibrary + include Movie - def include?(movie) - match = false - @movies.each do |m| - match = true if m == movie - end - match - end - -end - - -describe MovieLibrary do context "when adding a movie to the library" do it "should increase the total number of movies in the library" do - library = MovieLibrary.new - shawshank_redemption = Movie.new("The Shawshank Redemption") - chasing_amy = Movie.new("Chasing Amy") + library = MovieLibrary::MovieLibrary.new + shawshank_redemption = Movie::Movie.new("The Shawshank Redemption") + chasing_amy = Movie::Movie.new("Chasing Amy") library.add(shawshank_redemption) library.add(chasing_amy) @@ -43,14 +19,12 @@ describe MovieLibrary do end it "should not allow duplicate movies into the library" do - library = MovieLibrary.new - man_on_fire = Movie.new("Man on Fire") + library = MovieLibrary::MovieLibrary.new + man_on_fire = Movie::Movie.new("Man on Fire") library.add(man_on_fire) library.add(man_on_fire) library.total_count.should == 1 end end - - -end +end
\ No newline at end of file diff --git a/spec/review01_spec.rb b/spec/review01_spec.rb index d8d5fde..92d1a8c 100644 --- a/spec/review01_spec.rb +++ b/spec/review01_spec.rb @@ -64,6 +64,7 @@ describe "review lesseon 1" do def accept(visitor) size = @movies.size + i = 0 until i > size movie = @movies[i] visitor.visit(movie) @@ -106,7 +107,7 @@ describe "review lesseon 1" do end [1, 2, 4].map do |x| - return x *x + puts x * x end end |
