Class: RakeFly::TaskLib::ParameterDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/rake_fly/tasklib.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, default = nil, required = false) ⇒ ParameterDefinition

Returns a new instance of ParameterDefinition.



70
71
72
73
74
# File 'lib/rake_fly/tasklib.rb', line 70

def initialize(name, default = nil, required = false)
  @name = name.to_sym
  @default = default
  @required = required
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



68
69
70
# File 'lib/rake_fly/tasklib.rb', line 68

def name
  @name
end

Instance Method Details

#apply_default_to(instance) ⇒ Object



84
85
86
# File 'lib/rake_fly/tasklib.rb', line 84

def apply_default_to(instance)
  instance.__send__(writer_method, @default) unless @default.nil?
end

#dissatisfied_by?(instance) ⇒ Boolean

Returns:

  • (Boolean)


88
89
90
91
# File 'lib/rake_fly/tasklib.rb', line 88

def dissatisfied_by?(instance)
  value = instance.__send__(reader_method)
  @required && value.nil?
end

#reader_methodObject



80
81
82
# File 'lib/rake_fly/tasklib.rb', line 80

def reader_method
  name
end

#satisfied_by?(instance) ⇒ Boolean

Returns:

  • (Boolean)


93
94
95
# File 'lib/rake_fly/tasklib.rb', line 93

def satisfied_by?(instance)
  !dissatisfied_by?(instance)
end

#writer_methodObject



76
77
78
# File 'lib/rake_fly/tasklib.rb', line 76

def writer_method
  "#{name}="
end