Class: GnipApi::PowerTrack::Rules

Inherits:
Object
  • Object
show all
Defined in:
lib/gnip_api/power_track/rules.rb

Instance Method Summary collapse

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

Raises:

  • (ArgumentError)


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

Raises:

  • (ArgumentError)


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

#listObject

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

Raises:

  • (ArgumentError)


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