entasis 0.5.0.rc2 → 0.5.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.
- checksums.yaml +15 -0
- data/README.md +35 -15
- data/entasis.gemspec +1 -1
- data/lib/entasis/version.rb +1 -1
- metadata +9 -15
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YzRmZmE2ODA5MTRkMDMxODZiODFlNDljMzA2MDEyYmQxNWYwMTE1YQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OGNkYTA0MDZkN2VmMzBkMDU1NzRkNzMwNzEzNGQzMWRmNTNiMmI4NA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OTNlYWE4OTAyZmMwMmM1Y2ZhNzA4MmQ2MmNkMTM4ZGNjMDg4Y2Y2MDQ1NGQ4
|
10
|
+
MTIyMDU4OWU1Y2U1MjdhZWY1ZjY2N2QyZTY3ZDdmOGZjNzk1NWI0MGZkZGFi
|
11
|
+
MzM4OGY4NWEzMzQ1YzQzNGVjZjBhYjEyMzEzMGFjMGYwNmFmMDQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NjVhODIwMGY1ZjdjYTU4ODQxZDIzYTlhZTk2ZjkwZmU4OWQxMTA0ZjU2YmU4
|
14
|
+
MzY0MzVjMDdjZTZiNzk4Y2RiM2UyNWVmZDdkMGNmYjY5NDEyZmFmZTk2ODc4
|
15
|
+
YWJkNzdmNzlkYzU4OWU1NjE2MGFlODE5MWU1YWJlNTkzMDQ2YTM=
|
data/README.md
CHANGED
@@ -12,39 +12,59 @@ Example:
|
|
12
12
|
class Person
|
13
13
|
include Entasis::Model
|
14
14
|
|
15
|
-
has_many :friends
|
16
|
-
|
17
15
|
attributes :name, :age, :city
|
18
16
|
|
17
|
+
validates :name, presence: true
|
18
|
+
|
19
19
|
def age=(years)
|
20
20
|
@age = years.to_i
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
person = Person.new name: 'Hilda', age: '23', city: 'Stockholm' }
|
25
|
+
|
26
|
+
person.attribute_names # => ["name", "age", "city"]
|
27
|
+
person.attributes # => {"name"=>"Hilda", "age"=>23, "city"=>"Stockholm"}
|
28
|
+
|
29
|
+
anon = Person.new
|
30
|
+
anon.valid? # => false
|
31
|
+
anon.errors # => {:name=>["can't be blank"]}>
|
32
|
+
```
|
33
|
+
|
34
|
+
Default behavior is to raise if any key in the hash given to `.new` or `#attributes=` is not defined,
|
35
|
+
this can be circumvented by passing `ignore_undefined: true` as options when defining your attributes.
|
36
|
+
|
37
|
+
|
38
|
+
Relations
|
39
|
+
---------
|
40
|
+
|
41
|
+
You can build simple relations between objects.
|
42
|
+
|
43
|
+
Example:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
class Person
|
25
47
|
include Entasis::Model
|
26
48
|
|
27
|
-
|
49
|
+
has_many :friends
|
28
50
|
|
29
51
|
attributes :name
|
30
52
|
end
|
31
53
|
|
54
|
+
class Friend
|
55
|
+
include Entasis::Model
|
32
56
|
|
33
|
-
|
57
|
+
belongs_to :best_friend, class: 'Person'
|
34
58
|
|
35
|
-
|
36
|
-
|
59
|
+
attributes :name
|
60
|
+
end
|
37
61
|
|
38
|
-
hilda.friends # => [#<Friend:0x0 @name="Emma">, #<Friend:0x1 @name="Johan">]
|
39
|
-
hilda.friends[0].best_friend == hilda # => true
|
40
62
|
|
41
|
-
|
42
|
-
anon.valid? # => false
|
43
|
-
anon.errors # => {:name=>["can't be blank"]}>
|
44
|
-
```
|
63
|
+
person = Person.new name: 'Anna', friends: [{ name: 'Emma' }, { name: 'Johan' }]
|
45
64
|
|
46
|
-
|
47
|
-
|
65
|
+
person.friends # => [#<Friend:0x0 @name="Emma">, #<Friend:0x1 @name="Johan">]
|
66
|
+
person.friends[0].best_friend == person # => true
|
67
|
+
```
|
48
68
|
|
49
69
|
|
50
70
|
Transposing keys
|
data/entasis.gemspec
CHANGED
@@ -16,6 +16,6 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.files = Dir.glob("lib/**/*") + %w(Gemfile entasis.gemspec HISTORY README.md LICENSE)
|
17
17
|
s.test_files = Dir.glob('spec/*')
|
18
18
|
|
19
|
-
s.add_runtime_dependency 'activemodel', '~> 3.
|
19
|
+
s.add_runtime_dependency 'activemodel', '~> 3.1'
|
20
20
|
s.add_development_dependency 'rspec', '~> 2.0'
|
21
21
|
end
|
data/lib/entasis/version.rb
CHANGED
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: entasis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0
|
5
|
-
prerelease: 6
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ingemar Edsborn
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-03-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activemodel
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '3.
|
19
|
+
version: '3.1'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '3.
|
26
|
+
version: '3.1'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -68,27 +63,26 @@ files:
|
|
68
63
|
- spec/transpose_keys_spec.rb
|
69
64
|
homepage: http://github.com/ingemar/entasis
|
70
65
|
licenses: []
|
66
|
+
metadata: {}
|
71
67
|
post_install_message:
|
72
68
|
rdoc_options: []
|
73
69
|
require_paths:
|
74
70
|
- lib
|
75
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
72
|
requirements:
|
78
73
|
- - ! '>='
|
79
74
|
- !ruby/object:Gem::Version
|
80
75
|
version: '0'
|
81
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
77
|
requirements:
|
84
|
-
- - ! '
|
78
|
+
- - ! '>='
|
85
79
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
80
|
+
version: '0'
|
87
81
|
requirements: []
|
88
82
|
rubyforge_project:
|
89
|
-
rubygems_version:
|
83
|
+
rubygems_version: 2.0.0
|
90
84
|
signing_key:
|
91
|
-
specification_version:
|
85
|
+
specification_version: 4
|
92
86
|
summary: A few neat methods for a basic class
|
93
87
|
test_files:
|
94
88
|
- spec/entasis_spec.rb
|