Class: GnipApi::PowerTrack::Rules
- Inherits:
-
Object
- Object
- GnipApi::PowerTrack::Rules
- Defined in:
- lib/gnip_api/power_track/rules.rb
Instance Method Summary collapse
-
#construct_rules(rules) ⇒ Object
Parses an array of GnipApi::PowerTrack::Rule objects to the necesary JSON format for the endpoint.
-
#create(rules) ⇒ Object
Creates the specified rule.
-
#delete(rules) ⇒ Object
Deletes the specified rule.
-
#list ⇒ Object
Returns an array of defined rules.
- #parse_rules(data) ⇒ Object
- #validate(rules) ⇒ Object
Instance Method Details
#construct_rules(rules) ⇒ Object
Parses an array of GnipApi::PowerTrack::Rule objects to the necesary JSON format for the endpoint
45 46 47 48 49 50 51 |
# File 'lib/gnip_api/power_track/rules.rb', line 45 def construct_rules rules parsed_rules = {:rules => []} rules.each do |rule| parsed_rules[:rules] << rule.attributes end parsed_rules.to_json end |
#create(rules) ⇒ Object
Creates the specified rule. Parameters:
-
rules: GnipApi::PowerTrack::Rule object
17 18 19 20 21 22 23 |
# File 'lib/gnip_api/power_track/rules.rb', line 17 def create rules raise ArgumentError.new('No rules provided') if rules.nil? || rules.empty? request = create_post_request(construct_rules(rules)) response = fetch_data(request) return true if response.nil? return GnipApi::JsonParser.new.parse(response) end |
#delete(rules) ⇒ Object
Deletes the specified rule. Parameters:
-
rules: GnipApi::PowerTrack::Rule object
27 28 29 30 31 32 33 |
# File 'lib/gnip_api/power_track/rules.rb', line 27 def delete rules raise ArgumentError.new('No rules provided') if rules.nil? || rules.empty? request = create_delete_request(construct_rules(rules)) response = fetch_data(request) return true if response.nil? return GnipApi::JsonParser.new.parse(response) end |
#list ⇒ Object
Returns an array of defined rules
9 10 11 12 13 |
# File 'lib/gnip_api/power_track/rules.rb', line 9 def list request = create_get_request rules = fetch_data(request) parse_rules(rules) end |
#parse_rules(data) ⇒ Object
53 54 55 56 |
# File 'lib/gnip_api/power_track/rules.rb', line 53 def parse_rules data parsed_data = GnipApi::JsonParser.new.parse(data) parsed_data['rules'].map{|rule| GnipApi::PowerTrack::Rule.new(:value => rule['value'], :tag => rule['tag'], :id => rule['id'])} end |
#validate(rules) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/gnip_api/power_track/rules.rb', line 35 def validate rules raise ArgumentError.new('No rules provided') if rules.nil? || rules.empty? request = create_validation_request(construct_rules(rules)) response = fetch_data(request) return true if response.nil? return GnipApi::JsonParser.new.parse(response) end |