Module: RSpec::Rails::Observer
- Defined in:
- lib/rspec_for_generators/rails_helpers/rails_observer.rb
Instance Method Summary collapse
- #create_observer(name, content = nil) ⇒ Object
- #observer_content(name, content = nil) ⇒ Object
- #observer_file_name(name) ⇒ Object
- #remove_observer(name) ⇒ Object
- #remove_observers(*names) ⇒ Object
Instance Method Details
#create_observer(name, content = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/rspec_for_generators/rails_helpers/rails_observer.rb', line 3 def create_observer name, content=nil file = observer_file_name(name) unless File.exist?(file) FileUtils.mkdir_p File.dirname(file) content ||= yield if block_given? File.open(file, 'w') do |f| f.puts observer_content(name, content) end end end |
#observer_content(name, content = nil) ⇒ Object
14 15 16 17 18 |
# File 'lib/rspec_for_generators/rails_helpers/rails_observer.rb', line 14 def observer_content name, content=nil %Q{class #{name.to_s.camelize}Observer < ActiveRecord::Observer #{content} end} end |
#observer_file_name(name) ⇒ Object
29 30 31 |
# File 'lib/rspec_for_generators/rails_helpers/rails_observer.rb', line 29 def observer_file_name name File.join(::Rails.root, "app/models/#{name}_observer.rb") end |
#remove_observer(name) ⇒ Object
20 21 22 23 |
# File 'lib/rspec_for_generators/rails_helpers/rails_observer.rb', line 20 def remove_observer name file = observer_file_name(name) FileUtils.rm_f(file) if File.exist?(file) end |
#remove_observers(*names) ⇒ Object
25 26 27 |
# File 'lib/rspec_for_generators/rails_helpers/rails_observer.rb', line 25 def remove_observers *names names.each{|name| remove_observer name } end |