hashie-model 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/hashie-model.gemspec +19 -19
- data/lib/hashie-model.rb +5 -5
- data/lib/hashie_model/base.rb +2 -2
- data/lib/hashie_model/version.rb +2 -2
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/clash.rb +5 -5
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/dash.rb +4 -4
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/coercion.rb +3 -3
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/deep_merge.rb +1 -1
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/indifferent_access.rb +5 -5
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/key_conversion.rb +1 -1
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/merge_initializer.rb +2 -2
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/method_access.rb +4 -4
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/extensions/structure.rb +3 -3
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/hash.rb +5 -5
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/hash_extensions.rb +2 -2
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/mash.rb +4 -4
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/trash.rb +3 -3
- data/vendor/{hashie/lib/hashie → hashie2/lib/hashie2}/version.rb +1 -1
- data/vendor/hashie2/lib/hashie2.rb +23 -0
- metadata +52 -52
- data/vendor/hashie/lib/hashie.rb +0 -23
data/hashie-model.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{hashie-model}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{ZenCash.com}]
|
12
|
-
s.date = %q{
|
13
|
-
s.description = %q{
|
12
|
+
s.date = %q{2012-01-24}
|
13
|
+
s.description = %q{Hashie2 + ActiveModel 3, offering declared properties, validations, JSON serialization/deserialization}
|
14
14
|
s.email = %q{istvan@zencash.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
@@ -27,27 +27,27 @@ Gem::Specification.new do |s|
|
|
27
27
|
"lib/hashie_model/money.rb",
|
28
28
|
"lib/hashie_model/spec/matchers.rb",
|
29
29
|
"lib/hashie_model/version.rb",
|
30
|
-
"vendor/
|
31
|
-
"vendor/
|
32
|
-
"vendor/
|
33
|
-
"vendor/
|
34
|
-
"vendor/
|
35
|
-
"vendor/
|
36
|
-
"vendor/
|
37
|
-
"vendor/
|
38
|
-
"vendor/
|
39
|
-
"vendor/
|
40
|
-
"vendor/
|
41
|
-
"vendor/
|
42
|
-
"vendor/
|
43
|
-
"vendor/
|
44
|
-
"vendor/
|
30
|
+
"vendor/hashie2/lib/hashie2.rb",
|
31
|
+
"vendor/hashie2/lib/hashie2/clash.rb",
|
32
|
+
"vendor/hashie2/lib/hashie2/dash.rb",
|
33
|
+
"vendor/hashie2/lib/hashie2/extensions/coercion.rb",
|
34
|
+
"vendor/hashie2/lib/hashie2/extensions/deep_merge.rb",
|
35
|
+
"vendor/hashie2/lib/hashie2/extensions/indifferent_access.rb",
|
36
|
+
"vendor/hashie2/lib/hashie2/extensions/key_conversion.rb",
|
37
|
+
"vendor/hashie2/lib/hashie2/extensions/merge_initializer.rb",
|
38
|
+
"vendor/hashie2/lib/hashie2/extensions/method_access.rb",
|
39
|
+
"vendor/hashie2/lib/hashie2/extensions/structure.rb",
|
40
|
+
"vendor/hashie2/lib/hashie2/hash.rb",
|
41
|
+
"vendor/hashie2/lib/hashie2/hash_extensions.rb",
|
42
|
+
"vendor/hashie2/lib/hashie2/mash.rb",
|
43
|
+
"vendor/hashie2/lib/hashie2/trash.rb",
|
44
|
+
"vendor/hashie2/lib/hashie2/version.rb"
|
45
45
|
]
|
46
46
|
s.homepage = %q{http://github.com/doublewide/hashie-model}
|
47
47
|
s.licenses = [%q{MIT}]
|
48
48
|
s.require_paths = [%q{lib}]
|
49
49
|
s.rubygems_version = %q{1.8.6}
|
50
|
-
s.summary = %q{
|
50
|
+
s.summary = %q{Hashie2 + ActiveModel 3.x}
|
51
51
|
|
52
52
|
if s.respond_to? :specification_version then
|
53
53
|
s.specification_version = 3
|
data/lib/hashie-model.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'active_model'
|
2
2
|
|
3
|
-
# Load vendored
|
3
|
+
# Load vendored Hashie2 unless it is already loaded.
|
4
4
|
# We must have version >= 2.0 in order to get the Conversions API.
|
5
|
-
if defined?(
|
6
|
-
raise "
|
5
|
+
if defined?(Hashie2)
|
6
|
+
raise "Hashie2 >= 2.0.0 required by Hashie2Model." unless Hashie2::VERSION.split('.').first.to_i >= 2
|
7
7
|
else
|
8
|
-
$:.unshift File.expand_path(File.join('..', 'vendor', '
|
8
|
+
$:.unshift File.expand_path(File.join('..', 'vendor', 'hashie2', 'lib'), File.dirname(__FILE__))
|
9
9
|
end
|
10
|
-
require '
|
10
|
+
require 'hashie2'
|
11
11
|
|
12
12
|
require 'active_support'
|
13
13
|
require 'active_support/core_ext'
|
data/lib/hashie_model/base.rb
CHANGED
data/lib/hashie_model/version.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
require '
|
1
|
+
require 'hashie2/hash'
|
2
2
|
|
3
|
-
module
|
3
|
+
module Hashie2
|
4
4
|
#
|
5
5
|
# A Clash is a "Chainable Lazy Hash". Inspired by libraries such as Arel,
|
6
6
|
# a Clash allows you to chain together method arguments to build a
|
7
7
|
# hash, something that's especially useful if you're doing something
|
8
8
|
# like constructing a complex options hash. Here's a basic example:
|
9
9
|
#
|
10
|
-
# c =
|
10
|
+
# c = Hashie2::Clash.new.conditions(:foo => 'bar').order(:created_at)
|
11
11
|
# c # => {:conditions => {:foo => 'bar'}, :order => :created_at}
|
12
12
|
#
|
13
13
|
# Clash provides another way to create sub-hashes by using bang notation.
|
14
14
|
# You can dive into a sub-hash by providing a key with a bang and dive
|
15
15
|
# back out again with the _end! method. Example:
|
16
16
|
#
|
17
|
-
# c =
|
17
|
+
# c = Hashie2::Clash.new.conditions!.foo('bar').baz(123)._end!.order(:created_at)
|
18
18
|
# c # => {:conditions => {:foo => 'bar', :baz => 123}, :order => :created_at}
|
19
19
|
#
|
20
20
|
# Because the primary functionality of Clash is to build options objects,
|
@@ -39,7 +39,7 @@ module Hashie
|
|
39
39
|
# Jump back up a level if you are using bang method
|
40
40
|
# chaining. For example:
|
41
41
|
#
|
42
|
-
# c =
|
42
|
+
# c = Hashie2::Clash.new.foo('bar')
|
43
43
|
# c.baz!.foo(123) # => c[:baz]
|
44
44
|
# c.baz!._end! # => c
|
45
45
|
def _end!
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'hashie2/hash'
|
2
2
|
require 'set'
|
3
3
|
|
4
|
-
module
|
4
|
+
module Hashie2
|
5
5
|
# A Dash is a 'defined' or 'discrete' Hash, that is, a Hash
|
6
6
|
# that has a set of defined keys that are accessible (with
|
7
7
|
# optional defaults) and only those keys may be set or read.
|
@@ -12,8 +12,8 @@ module Hashie
|
|
12
12
|
#
|
13
13
|
# It is preferrable to a Struct because of the in-class
|
14
14
|
# API for defining properties as well as per-property defaults.
|
15
|
-
class Dash <
|
16
|
-
include
|
15
|
+
class Dash < Hashie2::Hash
|
16
|
+
include Hashie2::PrettyInspect
|
17
17
|
alias_method :to_s, :inspect
|
18
18
|
|
19
19
|
# Defines a property on the Dash. Options are
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module Extensions
|
3
3
|
module Coercion
|
4
4
|
def self.included(base)
|
@@ -34,7 +34,7 @@ module Hashie
|
|
34
34
|
#
|
35
35
|
# @example Coerce a "user" subhash into a User object
|
36
36
|
# class Tweet < Hash
|
37
|
-
# include
|
37
|
+
# include Hashie2::Extensions::Coercion
|
38
38
|
# coerce_key :user, User
|
39
39
|
# end
|
40
40
|
def coerce_key(key, into)
|
@@ -62,7 +62,7 @@ module Hashie
|
|
62
62
|
#
|
63
63
|
# @example Coerce all hashes into this special type of hash
|
64
64
|
# class SpecialHash < Hash
|
65
|
-
# include
|
65
|
+
# include Hashie2::Extensions::Coercion
|
66
66
|
# coerce_value Hash, SpecialHash
|
67
67
|
#
|
68
68
|
# def initialize(hash = {})
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module Extensions
|
3
3
|
# IndifferentAccess gives you the ability to not care
|
4
4
|
# whether your hash has string or symbol keys. Made famous
|
@@ -12,8 +12,8 @@ module Hashie
|
|
12
12
|
#
|
13
13
|
# @example
|
14
14
|
# class MyHash < Hash
|
15
|
-
# include
|
16
|
-
# include
|
15
|
+
# include Hashie2::Extensions::MergeInitializer
|
16
|
+
# include Hashie2::Extensions::IndifferentAccess
|
17
17
|
# end
|
18
18
|
#
|
19
19
|
# h = MyHash.new(:foo => 'bar', 'baz' => 'blip')
|
@@ -38,7 +38,7 @@ module Hashie
|
|
38
38
|
# a hash without modifying the actual class. This is what
|
39
39
|
# allows IndifferentAccess to spread to sub-hashes.
|
40
40
|
def self.inject!(hash)
|
41
|
-
(class << hash; self; end).send :include,
|
41
|
+
(class << hash; self; end).send :include, Hashie2::Extensions::IndifferentAccess
|
42
42
|
hash.convert!
|
43
43
|
end
|
44
44
|
|
@@ -64,7 +64,7 @@ module Hashie
|
|
64
64
|
|
65
65
|
def convert_value(value)
|
66
66
|
if hash_lacking_indifference?(value)
|
67
|
-
|
67
|
+
Hashie2::Extensions::IndifferentAccess.inject(value.dup)
|
68
68
|
elsif value.is_a?(::Array)
|
69
69
|
value.dup.replace(value.map { |e| convert_value(e) })
|
70
70
|
else
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module Extensions
|
3
3
|
# The MergeInitializer is a super-simple mixin that allows
|
4
4
|
# you to initialize a subclass of Hash with another Hash
|
@@ -8,7 +8,7 @@ module Hashie
|
|
8
8
|
#
|
9
9
|
# @example
|
10
10
|
# class MyHash < Hash
|
11
|
-
# include
|
11
|
+
# include Hashie2::Extensions::MergeInitializer
|
12
12
|
# end
|
13
13
|
#
|
14
14
|
# h = MyHash.new(:abc => 'def')
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module Extensions
|
3
3
|
# MethodReader allows you to access keys of the hash
|
4
4
|
# via method calls. This gives you an OStruct like way
|
@@ -12,7 +12,7 @@ module Hashie
|
|
12
12
|
#
|
13
13
|
# @example
|
14
14
|
# class User < Hash
|
15
|
-
# include
|
15
|
+
# include Hashie2::Extensions::MethodReader
|
16
16
|
# end
|
17
17
|
#
|
18
18
|
# user = User.new
|
@@ -49,7 +49,7 @@ module Hashie
|
|
49
49
|
#
|
50
50
|
# @example
|
51
51
|
# class MyHash < Hash
|
52
|
-
# include
|
52
|
+
# include Hashie2::Extensions::MethodWriter
|
53
53
|
# end
|
54
54
|
#
|
55
55
|
# h = MyHash.new
|
@@ -86,7 +86,7 @@ module Hashie
|
|
86
86
|
#
|
87
87
|
# @example
|
88
88
|
# class MyHash < Hash
|
89
|
-
# include
|
89
|
+
# include Hashie2::Extensions::MethodQuery
|
90
90
|
# end
|
91
91
|
#
|
92
92
|
# h = MyHash.new
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module Extensions
|
3
3
|
# The Structure extension provides facilities for declaring
|
4
4
|
# properties that a Hash can have. This provides for the
|
@@ -7,8 +7,8 @@ module Hashie
|
|
7
7
|
#
|
8
8
|
# @example
|
9
9
|
# class RestrictedHash < Hash
|
10
|
-
# include
|
11
|
-
# include
|
10
|
+
# include Hashie2::Extensions::MergeInitializer
|
11
|
+
# include Hashie2::Extensions::Structure
|
12
12
|
#
|
13
13
|
# key :first
|
14
14
|
# key :second, :default => 'foo'
|
@@ -1,17 +1,17 @@
|
|
1
|
-
require '
|
1
|
+
require 'hashie2/hash_extensions'
|
2
2
|
|
3
|
-
module
|
4
|
-
# A
|
3
|
+
module Hashie2
|
4
|
+
# A Hashie2 Hash is simply a Hash that has convenience
|
5
5
|
# functions baked in such as stringify_keys that may
|
6
6
|
# not be available in all libraries.
|
7
7
|
class Hash < Hash
|
8
|
-
include
|
8
|
+
include Hashie2::HashExtensions
|
9
9
|
|
10
10
|
# Converts a mash back to a hash (with stringified keys)
|
11
11
|
def to_hash
|
12
12
|
out = {}
|
13
13
|
keys.each do |k|
|
14
|
-
out[k] =
|
14
|
+
out[k] = Hashie2::Hash === self[k] ? self[k].to_hash : self[k]
|
15
15
|
end
|
16
16
|
out
|
17
17
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Hashie2
|
2
2
|
module HashExtensions
|
3
3
|
def self.included(base)
|
4
4
|
# Don't tread on existing extensions of Hash by
|
@@ -27,7 +27,7 @@ module Hashie
|
|
27
27
|
|
28
28
|
# Convert this hash into a Mash
|
29
29
|
def to_mash
|
30
|
-
::
|
30
|
+
::Hashie2::Mash.new(self)
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
1
|
+
require 'hashie2/hash'
|
2
2
|
|
3
|
-
module
|
3
|
+
module Hashie2
|
4
4
|
# Mash allows you to create pseudo-objects that have method-like
|
5
5
|
# accessors for hash keys. This is useful for such implementations
|
6
6
|
# as an API-accessing library that wants to fake robust objects
|
@@ -42,8 +42,8 @@ module Hashie
|
|
42
42
|
# mash.author!.name = "Michael Bleigh"
|
43
43
|
# mash.author # => <Mash name="Michael Bleigh">
|
44
44
|
#
|
45
|
-
class Mash <
|
46
|
-
include
|
45
|
+
class Mash < Hashie2::Hash
|
46
|
+
include Hashie2::PrettyInspect
|
47
47
|
alias_method :to_s, :inspect
|
48
48
|
|
49
49
|
# If you pass in an existing hash, it will
|
@@ -1,13 +1,13 @@
|
|
1
|
-
require '
|
1
|
+
require 'hashie2/dash'
|
2
2
|
|
3
|
-
module
|
3
|
+
module Hashie2
|
4
4
|
# A Trash is a 'translated' Dash where the keys can be remapped from a source
|
5
5
|
# hash.
|
6
6
|
#
|
7
7
|
# Trashes are useful when you need to read data from another application,
|
8
8
|
# such as a Java api, where the keys are named differently from how we would
|
9
9
|
# in Ruby.
|
10
|
-
class Trash <
|
10
|
+
class Trash < Hashie2::Dash
|
11
11
|
|
12
12
|
# Defines a property on the Trash. Options are as follows:
|
13
13
|
#
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Hashie2
|
2
|
+
autoload :Clash, 'hashie2/clash'
|
3
|
+
autoload :Dash, 'hashie2/dash'
|
4
|
+
autoload :Hash, 'hashie2/hash'
|
5
|
+
autoload :HashExtensions, 'hashie2/hash_extensions'
|
6
|
+
autoload :Mash, 'hashie2/mash'
|
7
|
+
autoload :PrettyInspect, 'hashie2/hash_extensions'
|
8
|
+
autoload :Trash, 'hashie2/trash'
|
9
|
+
|
10
|
+
module Extensions
|
11
|
+
autoload :Coercion, 'hashie2/extensions/coercion'
|
12
|
+
autoload :DeepMerge, 'hashie2/extensions/deep_merge'
|
13
|
+
autoload :KeyConversion, 'hashie2/extensions/key_conversion'
|
14
|
+
autoload :IndifferentAccess, 'hashie2/extensions/indifferent_access'
|
15
|
+
autoload :MergeInitializer, 'hashie2/extensions/merge_initializer'
|
16
|
+
autoload :MethodAccess, 'hashie2/extensions/method_access'
|
17
|
+
autoload :MethodQuery, 'hashie2/extensions/method_access'
|
18
|
+
autoload :MethodReader, 'hashie2/extensions/method_access'
|
19
|
+
autoload :MethodWriter, 'hashie2/extensions/method_access'
|
20
|
+
autoload :StringifyKeys, 'hashie2/extensions/key_conversion'
|
21
|
+
autoload :SymbolizeKeys, 'hashie2/extensions/key_conversion'
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hashie-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-24 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yajl-ruby
|
16
|
-
requirement: &
|
16
|
+
requirement: &2176959840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.8.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2176959840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &2176959360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.1.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2176959360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activemodel
|
38
|
-
requirement: &
|
38
|
+
requirement: &2176958880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.1.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2176958880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: money
|
49
|
-
requirement: &
|
49
|
+
requirement: &2176958400 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 3.7.1
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2176958400
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &2176992980 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 2.3.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2176992980
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: shoulda-matchers
|
71
|
-
requirement: &
|
71
|
+
requirement: &2176992500 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.0.beta3
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2176992500
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: yard
|
82
|
-
requirement: &
|
82
|
+
requirement: &2176992020 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.7.0
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2176992020
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: bundler
|
93
|
-
requirement: &
|
93
|
+
requirement: &2176991540 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 1.0.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *2176991540
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: jeweler
|
104
|
-
requirement: &
|
104
|
+
requirement: &2176991060 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 1.6.4
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *2176991060
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rcov
|
115
|
-
requirement: &
|
115
|
+
requirement: &2176990580 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *2176990580
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rb-fsevent
|
126
|
-
requirement: &
|
126
|
+
requirement: &2176990100 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *2176990100
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: growl
|
137
|
-
requirement: &
|
137
|
+
requirement: &2176989620 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *2176989620
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: guard
|
148
|
-
requirement: &
|
148
|
+
requirement: &2176989140 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *2176989140
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: guard-rspec
|
159
|
-
requirement: &
|
159
|
+
requirement: &2176988660 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *2176988660
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: guard-yard
|
170
|
-
requirement: &
|
170
|
+
requirement: &2176988180 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ! '>='
|
@@ -175,10 +175,10 @@ dependencies:
|
|
175
175
|
version: '0'
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *2176988180
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: guard-bundler
|
181
|
-
requirement: &
|
181
|
+
requirement: &2176987700 !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
184
184
|
- - ! '>='
|
@@ -186,8 +186,8 @@ dependencies:
|
|
186
186
|
version: '0'
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
|
-
version_requirements: *
|
190
|
-
description:
|
189
|
+
version_requirements: *2176987700
|
190
|
+
description: Hashie2 + ActiveModel 3, offering declared properties, validations, JSON
|
191
191
|
serialization/deserialization
|
192
192
|
email: istvan@zencash.com
|
193
193
|
executables: []
|
@@ -206,21 +206,21 @@ files:
|
|
206
206
|
- lib/hashie_model/money.rb
|
207
207
|
- lib/hashie_model/spec/matchers.rb
|
208
208
|
- lib/hashie_model/version.rb
|
209
|
-
- vendor/
|
210
|
-
- vendor/
|
211
|
-
- vendor/
|
212
|
-
- vendor/
|
213
|
-
- vendor/
|
214
|
-
- vendor/
|
215
|
-
- vendor/
|
216
|
-
- vendor/
|
217
|
-
- vendor/
|
218
|
-
- vendor/
|
219
|
-
- vendor/
|
220
|
-
- vendor/
|
221
|
-
- vendor/
|
222
|
-
- vendor/
|
223
|
-
- vendor/
|
209
|
+
- vendor/hashie2/lib/hashie2.rb
|
210
|
+
- vendor/hashie2/lib/hashie2/clash.rb
|
211
|
+
- vendor/hashie2/lib/hashie2/dash.rb
|
212
|
+
- vendor/hashie2/lib/hashie2/extensions/coercion.rb
|
213
|
+
- vendor/hashie2/lib/hashie2/extensions/deep_merge.rb
|
214
|
+
- vendor/hashie2/lib/hashie2/extensions/indifferent_access.rb
|
215
|
+
- vendor/hashie2/lib/hashie2/extensions/key_conversion.rb
|
216
|
+
- vendor/hashie2/lib/hashie2/extensions/merge_initializer.rb
|
217
|
+
- vendor/hashie2/lib/hashie2/extensions/method_access.rb
|
218
|
+
- vendor/hashie2/lib/hashie2/extensions/structure.rb
|
219
|
+
- vendor/hashie2/lib/hashie2/hash.rb
|
220
|
+
- vendor/hashie2/lib/hashie2/hash_extensions.rb
|
221
|
+
- vendor/hashie2/lib/hashie2/mash.rb
|
222
|
+
- vendor/hashie2/lib/hashie2/trash.rb
|
223
|
+
- vendor/hashie2/lib/hashie2/version.rb
|
224
224
|
homepage: http://github.com/doublewide/hashie-model
|
225
225
|
licenses:
|
226
226
|
- MIT
|
@@ -236,7 +236,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
236
236
|
version: '0'
|
237
237
|
segments:
|
238
238
|
- 0
|
239
|
-
hash:
|
239
|
+
hash: 441566808007730713
|
240
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
241
|
none: false
|
242
242
|
requirements:
|
@@ -248,5 +248,5 @@ rubyforge_project:
|
|
248
248
|
rubygems_version: 1.8.6
|
249
249
|
signing_key:
|
250
250
|
specification_version: 3
|
251
|
-
summary:
|
251
|
+
summary: Hashie2 + ActiveModel 3.x
|
252
252
|
test_files: []
|
data/vendor/hashie/lib/hashie.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
module Hashie
|
2
|
-
autoload :Clash, 'hashie/clash'
|
3
|
-
autoload :Dash, 'hashie/dash'
|
4
|
-
autoload :Hash, 'hashie/hash'
|
5
|
-
autoload :HashExtensions, 'hashie/hash_extensions'
|
6
|
-
autoload :Mash, 'hashie/mash'
|
7
|
-
autoload :PrettyInspect, 'hashie/hash_extensions'
|
8
|
-
autoload :Trash, 'hashie/trash'
|
9
|
-
|
10
|
-
module Extensions
|
11
|
-
autoload :Coercion, 'hashie/extensions/coercion'
|
12
|
-
autoload :DeepMerge, 'hashie/extensions/deep_merge'
|
13
|
-
autoload :KeyConversion, 'hashie/extensions/key_conversion'
|
14
|
-
autoload :IndifferentAccess, 'hashie/extensions/indifferent_access'
|
15
|
-
autoload :MergeInitializer, 'hashie/extensions/merge_initializer'
|
16
|
-
autoload :MethodAccess, 'hashie/extensions/method_access'
|
17
|
-
autoload :MethodQuery, 'hashie/extensions/method_access'
|
18
|
-
autoload :MethodReader, 'hashie/extensions/method_access'
|
19
|
-
autoload :MethodWriter, 'hashie/extensions/method_access'
|
20
|
-
autoload :StringifyKeys, 'hashie/extensions/key_conversion'
|
21
|
-
autoload :SymbolizeKeys, 'hashie/extensions/key_conversion'
|
22
|
-
end
|
23
|
-
end
|