Top Level Namespace

Defined Under Namespace

Modules: ActiveSupport, Remarkable, Spec

Instance Method Summary collapse

Instance Method Details

#create_macro_methods(macro) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/remarkable/rails.rb', line 5

def create_macro_methods(macro)
  method_name = File.basename(macro, ".rb")
  Spec::Example::ExampleGroupMethods::send(:define_method, "should_#{method_name}") { instance_eval(IO.read(macro)) }

  Spec::Rails::Matchers::send(:define_method, method_name) do 
    return simple_matcher(method_name.humanize.downcase) do
      self.class.describe do
        describe "(#{method_name})" do
          instance_eval(IO.read(macro)) 
        end
      end
    end
  end
end