Sha256: 078f22dd87f7398d486d2946a57ed550c29022eb1d1f35e0a7f79dbc64cbc251

Contents?: true

Size: 804 Bytes

Versions: 8

Compression:

Stored size: 804 Bytes

Contents

module Bowline::Generators
  class BinderGenerator < NamedGenerator
    desc <<-DESC
      Generates a new binder.
    DESC
    
    alias :plain_class_name :class_name
    def class_name
      super + "Binder < Bowline::Binders::#{bind_type.capitalize}"
    end
    
    def bind_name
      plain_class_name.singularize
    end
    
    def bind_type
      "Collection"
    end
    
    def file_name
      super + "_binder"
    end
    
    first_argument :name, :required => true, :desc => "binder name"
    second_argument :bind_type, :default => "collection", :desc => "binder type (singleton/collection)"
    
    template :binder do |template|
      template.source       = "binder.rb"
      template.destination  = "app/binders/#{file_name}.rb"
    end
  end
  
  add :binder, BinderGenerator
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
bowline-0.9.4 lib/bowline/generators/binder.rb
bowline-0.9.3 lib/bowline/generators/binder.rb
bowline-0.9.2 lib/bowline/generators/binder.rb
bowline-0.9.1 lib/bowline/generators/binder.rb
bowline-0.6.3 lib/bowline/generators/binder.rb
bowline-0.6.2 lib/bowline/generators/binder.rb
bowline-0.6.1 lib/bowline/generators/binder.rb
bowline-0.6.0 lib/bowline/generators/binder.rb