Module: Tinypass::MeterHelper
Instance Method Summary collapse
- #create_time_based(name, trial_period, lockout_period) ⇒ Object
- #create_view_based(name, max_views, within_period) ⇒ Object
- #deserialize(string) ⇒ Object
- #generate_cookie_embed_script(name, meter) ⇒ Object
- #load_meter_from_cookie(meter_name, cookies) ⇒ Object
- #load_meter_from_serialized_data(string) ⇒ Object
- #serialize(meter, builder_config = '') ⇒ Object
- #serialize_to_json(meter) ⇒ Object
Instance Method Details
#create_time_based(name, trial_period, lockout_period) ⇒ Object
9 10 11 |
# File 'lib/tinypass/token/meter_helper.rb', line 9 def create_time_based(name, trial_period, lockout_period) Meter.create_time_based(name, trial_period, lockout_period) end |
#create_view_based(name, max_views, within_period) ⇒ Object
5 6 7 |
# File 'lib/tinypass/token/meter_helper.rb', line 5 def create_view_based(name, max_views, within_period) Meter.create_view_based(name, max_views, within_period) end |
#deserialize(string) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/tinypass/token/meter_helper.rb', line 52 def deserialize(string) parser = ClientParser.new list = parser.parse_access_tokens(string) token = list.first return if token.nil? Meter.new(token) end |
#generate_cookie_embed_script(name, meter) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/tinypass/token/meter_helper.rb', line 62 def (name, meter) if meter.lockout_period_active? expires = meter.lockout_end_time_secs + 60 else expires = Time.now.to_i + 60 * 60 * 24 * 90 end expires_string = Time.at(expires).utc "<script> document.cookie='#{ (name, meter) }; path=/; expires=#{ expires_string };'; </script>" end |
#load_meter_from_cookie(meter_name, cookies) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tinypass/token/meter_helper.rb', line 13 def (meter_name, ) # NOTE: This method expects `meter_name` to be both the cookie name and the meter name # aka rid. store = AccessTokenStore.new store.(, meter_name) return unless store.has_token?(meter_name) token = store.get_access_token(meter_name) meter = Meter.new(token) return if meter.trial_dead? meter end |
#load_meter_from_serialized_data(string) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/tinypass/token/meter_helper.rb', line 29 def load_meter_from_serialized_data(string) store = AccessTokenStore.new store.(string) token = store.tokens.first return if token.nil? meter = Meter.new(token) return if meter.trial_dead? meter end |
#serialize(meter, builder_config = '') ⇒ Object
42 43 44 45 46 |
# File 'lib/tinypass/token/meter_helper.rb', line 42 def serialize(meter, builder_config = '') token = AccessToken.new(meter.data) builder = ClientBuilder.new(builder_config) builder.build_access_tokens(token) end |
#serialize_to_json(meter) ⇒ Object
48 49 50 |
# File 'lib/tinypass/token/meter_helper.rb', line 48 def serialize_to_json(meter) serialize(meter, ClientBuilder::OPEN_ENC) end |