Class: Itsdangerousr::Serializer
- Inherits:
-
Object
- Object
- Itsdangerousr::Serializer
show all
- Defined in:
- lib/itsdangerousr.rb
Instance Method Summary
collapse
Constructor Details
#initialize(secret_key, options = {}) ⇒ Serializer
Returns a new instance of Serializer.
212
213
214
215
216
217
218
219
220
221
|
# File 'lib/itsdangerousr.rb', line 212
def initialize(secret_key, options={})
defaults = {:salt => 'itsdangerous', :serializer => JSON,
:signer => Signer, :signer_kwargs => {}}
options = defaults.merge(options)
@secret_key = secret_key
@salt = options[:salt]
@serializer = options[:serializer]
@signer = options[:signer]
@signer_kwargs = options[:signer_kwargs]
end
|
Instance Method Details
#dump_payload(obj) ⇒ Object
230
231
232
|
# File 'lib/itsdangerousr.rb', line 230
def dump_payload(obj)
@serializer.dump(obj)
end
|
#dumps(obj, salt = @salt) ⇒ Object
240
241
242
243
|
# File 'lib/itsdangerousr.rb', line 240
def dumps(obj, salt=@salt)
payload = dump_payload(obj)
make_signer(:salt => salt).sign(payload)
end
|
#load_payload(payload, options = {}) ⇒ Object
223
224
225
226
227
228
|
# File 'lib/itsdangerousr.rb', line 223
def load_payload(payload, options={})
defaults = {:serializer => @serializer}
options = defaults.merge(options)
serializer = options[:serializer]
serializer.load(payload, nil, :symbolize_names => true)
end
|
#loads(s, salt = @salt) ⇒ Object
245
246
247
|
# File 'lib/itsdangerousr.rb', line 245
def loads(s, salt=@salt)
load_payload(make_signer(:salt => salt).unsign(s))
end
|
#make_signer(options = {}) ⇒ Object
234
235
236
237
238
|
# File 'lib/itsdangerousr.rb', line 234
def make_signer(options={})
defaults = {:salt => @salt}
options = defaults.merge(options)
@signer.new(@secret_key, @signer_kwargs.merge(:salt => options[:salt]))
end
|