Sha256: e02f6a3daad89f492839922963848dc642383fd593e3a05b5d0fd3dd2e78a840

Contents?: true

Size: 607 Bytes

Versions: 8

Compression:

Stored size: 607 Bytes

Contents

module SsciInc
  module DSL

    def screen(klass, h={}, &block)
      s = klass.new(h)
      yield s if block_given?
      @screenings << s
    end

    %w[Credit Criminal PersonSearch].each do |class_name|
      class_eval <<-eoruby, __FILE__, __LINE__ + 1
        def #{class_name.underscore}_screen(*args, &block)
          screen(Screening::#{class_name}, *args, &block)
        end
      eoruby
    end

    def alias(h={}, &block)
      @aliases << person_name(h, &block)
    end

    def person_name(h={}, &block)
      p = PersonName.new(h)
      yield p if block_given?
      p
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ssci_inc-0.1.17 lib/ssci_inc/dsl.rb
ssci_inc-0.1.16 lib/ssci_inc/dsl.rb
ssci_inc-0.1.15 lib/ssci_inc/dsl.rb
ssci_inc-0.1.14 lib/ssci_inc/dsl.rb
ssci_inc-0.1.13 lib/ssci_inc/dsl.rb
ssci_inc-0.1.12 lib/ssci_inc/dsl.rb
ssci_inc-0.1.11 lib/ssci_inc/dsl.rb
ssci_inc-0.1.10 lib/ssci_inc/dsl.rb