Class: Shortwave::Facade::Build::Parameter
- Inherits:
-
Object
- Object
- Shortwave::Facade::Build::Parameter
- Defined in:
- lib/shortwave/facade/build/facade_builder.rb
Overview
A parameter used in a Last FM api method call.
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
-
.parse(html) ⇒ Object
Returns an array of Parameters, given an HTML page from the Last FM API method documentation.
Instance Method Summary collapse
-
#initialize(name, required, description) ⇒ Parameter
constructor
A new instance of Parameter.
-
#required? ⇒ Boolean
Returns true if this parameter is required.
Constructor Details
#initialize(name, required, description) ⇒ Parameter
Returns a new instance of Parameter.
142 143 144 |
# File 'lib/shortwave/facade/build/facade_builder.rb', line 142 def initialize(name, required, description) @name, @required, @description = name, required, description.gsub(/\s+/, ' ') end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
140 141 142 |
# File 'lib/shortwave/facade/build/facade_builder.rb', line 140 def description @description end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
140 141 142 |
# File 'lib/shortwave/facade/build/facade_builder.rb', line 140 def name @name end |
Class Method Details
.parse(html) ⇒ Object
Returns an array of Parameters, given an HTML page from the Last FM API method documentation
148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/shortwave/facade/build/facade_builder.rb', line 148 def self.parse(html) doc = html.kind_of?(Nokogiri::HTML::Document) ? html : Nokogiri::HTML(html) doc.css(PARAMETER_CSS).map do |node| name = node.text.strip unless name.nil? || name.empty? if match = name.match(COMBINED_PARAMS) match[2].split("|").map {|v| make_parameter(node, match[1] + v) } else make_parameter(node, name) end end end.flatten.compact end |
Instance Method Details
#required? ⇒ Boolean
Returns true if this parameter is required
164 165 166 |
# File 'lib/shortwave/facade/build/facade_builder.rb', line 164 def required? @required end |