Class: LimeLm::Key
- Inherits:
-
Object
- Object
- LimeLm::Key
- Defined in:
- lib/lime_lm/key.rb
Instance Attribute Summary collapse
-
#email ⇒ Object
readonly
Returns the value of attribute email.
-
#id(params = {}) ⇒ Object
readonly
Returns the value of attribute id.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#properties ⇒ Object
readonly
Returns the value of attribute properties.
-
#revoked ⇒ Object
readonly
Returns the value of attribute revoked.
-
#version_id ⇒ Object
readonly
Returns the value of attribute version_id.
Class Method Summary collapse
-
.activity(params = {}) ⇒ Object
Returns by default activity of created product keys only to speed up the query Pass optional activity as parameters.
- .create(params = {}) ⇒ Object
- .find(email, params = {}) ⇒ Object
- .manual_activation(act_req_content) ⇒ Object
- .search(params = {}) ⇒ Object
Instance Method Summary collapse
- #destroy! ⇒ Object
- #details ⇒ Object
-
#initialize(hash) ⇒ Key
constructor
A new instance of Key.
- #remove_tag(tag) ⇒ Object
- #tag(tags = []) ⇒ Object
- #toggle_revoke! ⇒ Object
Constructor Details
#initialize(hash) ⇒ Key
Returns a new instance of Key.
12 13 14 15 |
# File 'lib/lime_lm/key.rb', line 12 def initialize(hash) self.send(:assign_properties, hash) raise LimeLm::InvalidObject, 'You need to provide at least an id or a key for the LimeLm::Key object' unless @id || @key end |
Instance Attribute Details
#email ⇒ Object (readonly)
Returns the value of attribute email.
8 9 10 |
# File 'lib/lime_lm/key.rb', line 8 def email @email end |
#id(params = {}) ⇒ Object (readonly)
Returns the value of attribute id.
5 6 7 |
# File 'lib/lime_lm/key.rb', line 5 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
6 7 8 |
# File 'lib/lime_lm/key.rb', line 6 def key @key end |
#properties ⇒ Object (readonly)
Returns the value of attribute properties.
10 11 12 |
# File 'lib/lime_lm/key.rb', line 10 def properties @properties end |
#revoked ⇒ Object (readonly)
Returns the value of attribute revoked.
9 10 11 |
# File 'lib/lime_lm/key.rb', line 9 def revoked @revoked end |
#version_id ⇒ Object (readonly)
Returns the value of attribute version_id.
7 8 9 |
# File 'lib/lime_lm/key.rb', line 7 def version_id @version_id end |
Class Method Details
.activity(params = {}) ⇒ Object
Returns by default activity of created product keys only to speed up the query Pass optional activity as parameters. Asking for activity of all the products takes a long process time
40 41 42 43 44 45 46 47 48 |
# File 'lib/lime_lm/key.rb', line 40 def activity(params={}) version_id = params.delete(:version_id) { LimeLm.config[:version_id] } start = params.delete(:start) { (Date.today - 7).strftime('%Y-%m-%d') } response = LimeLm::Connection.post_json({ method: 'limelm.pkey.activity', version_id: version_id, start: start, created: true}.merge!(params)) response['pkeys']['pkey'] rescue LimeLm::ApiError => e e..include?('109') ? [] : raise(e) end |
.create(params = {}) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/lime_lm/key.rb', line 18 def create(params={}) version_id = params.delete(:version_id) { LimeLm.config[:version_id] } response = LimeLm::Connection.post_json({ method: 'limelm.pkey.generate', version_id: version_id }.merge!(params)) additional_info = LimeLm::Utils.stringify_keys(params.merge!({ version_id: version_id })) response['pkeys']['pkey'].map { |k| new(k.merge!(additional_info)) } end |
.find(email, params = {}) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/lime_lm/key.rb', line 26 def find(email, params={}) version_id = params.delete(:version_id) { LimeLm.config[:version_id] } response = LimeLm::Connection.post_json({ method: 'limelm.pkey.find', version_id: version_id, email: email }) response['pkeys']['pkey'].map { |k| new(k.merge!({ 'version_id' => version_id, 'email' => email })) } end |
.manual_activation(act_req_content) ⇒ Object
50 51 52 53 |
# File 'lib/lime_lm/key.rb', line 50 def manual_activation(act_req_content) response = LimeLm::Connection.post_json({ method: 'limelm.pkey.manualActivation', act_req_xml: act_req_content}) response['act_resp_xml']['data'] end |
.search(params = {}) ⇒ Object
33 34 35 36 |
# File 'lib/lime_lm/key.rb', line 33 def search(params={}) response = LimeLm::Connection.post_json({ method: 'limelm.pkey.advancedSearch'}.merge!(params)) response['pkeys']['pkey'].map { |k| new(k) } end |
Instance Method Details
#destroy! ⇒ Object
79 80 81 82 |
# File 'lib/lime_lm/key.rb', line 79 def destroy! LimeLm::Connection.post_json({ method: 'limelm.pkey.delete', pkey_id: @id }) true end |
#details ⇒ Object
74 75 76 77 |
# File 'lib/lime_lm/key.rb', line 74 def details response = LimeLm::Connection.post_json({ method: 'limelm.pkey.getDetails', pkey_id: @id }) self.send(:assign_properties, response['pkey']) end |
#remove_tag(tag) ⇒ Object
69 70 71 72 |
# File 'lib/lime_lm/key.rb', line 69 def remove_tag(tag) LimeLm::Connection.post_json({ method: 'limelm.pkey.removeTag', pkey_id: @id, tag: tag }) true end |
#tag(tags = []) ⇒ Object
64 65 66 67 |
# File 'lib/lime_lm/key.rb', line 64 def tag(=[]) LimeLm::Connection.post_json({ method: 'limelm.pkey.setTags', pkey_id: @id, tag: }) true end |
#toggle_revoke! ⇒ Object
84 85 86 87 88 |
# File 'lib/lime_lm/key.rb', line 84 def toggle_revoke! revoke = @revoked ? 'false' : 'true' LimeLm::Connection.post_json({ method: 'limelm.pkey.revoke', pkey_id: @id, revoke: revoke }) @revoked = !@revoked end |