intrinsic 1.1.0 → 1.2.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.
@@ -1,3 +1,14 @@
1
+ 1.2.0 / 2012-01-09
2
+ ==================
3
+
4
+ * Adding the symbol coercion logic
5
+ * Adding the hash coercion logic
6
+ * Adding the array coercion logic
7
+ * Wrapping coercion in begin/rescue blocks with raise typerrors
8
+ * Switching from classes to modules
9
+ * Switching to nested structure for coercion
10
+
11
+
1
12
  1.1.0 / 2012-01-08
2
13
  ==================
3
14
 
@@ -8,8 +19,8 @@
8
19
  * Detailing the internals of the included hook
9
20
  * Documenting the included hook
10
21
  * Documenting details about the intrinsic model
11
- * ADding an example of usage from the sample file
12
- * ADding a list of pros and cons for Virtus
22
+ * Adding an example of usage from the sample file
23
+ * Adding a list of pros and cons for Virtus
13
24
  * Adding a list of pros and cons for activemodel
14
25
  * Adding a section on alternatives
15
26
  * Adding in the two people who deserve credit the most
@@ -17,7 +28,6 @@
17
28
  * Adding chainable syntax detail
18
29
  * Extrapolating on idea
19
30
  * Adding code markup
20
- * Adding code markup
21
31
 
22
32
 
23
33
  1.0.3 / 2012-01-08
@@ -32,7 +42,6 @@
32
42
  1.0.0 / 2012-01-08
33
43
  ==================
34
44
 
35
- * Merge branch 'release/1.0.0' into develop
36
45
  * Incrementing the version number.
37
46
  * Assigning errors if validation result was false
38
47
  * Assigning the false setter to validation_result if raised
data/README.md CHANGED
@@ -67,9 +67,8 @@ Here's a list of what those alternatives are and why I think Intrinsic should ex
67
67
  - **Pro**: Well maintained and contributed too.
68
68
  - Pro: Extremely well tested and documented
69
69
  - Pro: Extended feature set above and beyond intrinsic
70
- - **Con**: Always tied to DataMapper
71
- - Con: Still not version 1.0.0, and thus has an unstable API
72
- - Con: No validation system planned or in feature set
70
+ - **Con**: Still not version 1.0.0, and thus has an unstable API
71
+ - Con: Does not have any validation logic (although there is a [WIP gem](https://github.com/emmanuel/aequitas))
73
72
 
74
73
  All of these alternatives are worth looking into!
75
74
 
@@ -93,7 +92,7 @@ Or add it to your `Gemfile`:
93
92
  ``` ruby
94
93
  source :rubygems
95
94
 
96
- gem "intrinsic", "1.1.0"
95
+ gem "intrinsic", "1.2.0"
97
96
  ```
98
97
 
99
98
  That's all you have to do.
@@ -120,6 +119,7 @@ We welcome any pull requests or commits that improve `intrinsic`.
120
119
  changelog
121
120
  ---------
122
121
 
122
+ - 1.2.0: Adding Hash, Array, Symbol coercion and refactoring Proc, String, Integer coercion
123
123
  - 1.1.0: Documentation of the intrinsic module, updating of readme details
124
124
  - 1.0.3: Adding helpful README and license, updating example script
125
125
  - 1.0.0: Initial release
@@ -1,5 +1,8 @@
1
1
  require_relative 'coercion/string'
2
2
  require_relative 'coercion/integer'
3
+ require_relative 'coercion/symbol'
4
+ require_relative 'coercion/array'
5
+ require_relative 'coercion/hash'
3
6
  require_relative 'coercion/proc'
4
7
 
5
8
  module Intrinsic::Intrinsicism
@@ -0,0 +1,15 @@
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module Array
5
+ def self.convert(value)
6
+ begin
7
+ value.to_a
8
+ rescue
9
+ raise TypeError
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module Hash
5
+ def self.convert(value)
6
+ case value
7
+ when Hash then value
8
+ when Array then Hash[*value.flatten]
9
+ when Integer then raise TypeError
10
+ when String then raise TypeError
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,7 +1,15 @@
1
- module Intrinsic::Intrinsicism::Coercion
2
- class Integer
3
- def self.convert(value)
4
- value.to_i
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module Integer
5
+ def self.convert(value)
6
+ begin
7
+ value.to_i
8
+ rescue
9
+ raise TypeError
10
+ end
11
+ end
12
+ end
5
13
  end
6
14
  end
7
15
  end
@@ -1,7 +1,15 @@
1
- module Intrinsic::Intrinsicism::Coercion
2
- class Proc
3
- def self.convert(value)
4
- value.to_proc
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module Proc
5
+ def self.convert(value)
6
+ begin
7
+ value.to_proc
8
+ rescue
9
+ raise TypeError
10
+ end
11
+ end
12
+ end
5
13
  end
6
14
  end
7
15
  end
@@ -1,7 +1,15 @@
1
- module Intrinsic::Intrinsicism::Coercion
2
- class String
3
- def self.convert(value)
4
- value.to_s
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module String
5
+ def self.convert(value)
6
+ begin
7
+ value.to_s
8
+ rescue
9
+ raise TypeError
10
+ end
11
+ end
12
+ end
5
13
  end
6
14
  end
7
15
  end
@@ -0,0 +1,15 @@
1
+ module Intrinsic
2
+ module Intrinsicism
3
+ module Coercion
4
+ module Symbol
5
+ def self.convert(value)
6
+ begin
7
+ value.to_sym
8
+ rescue
9
+ raise TypeError
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module Intrinsic
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intrinsic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.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: 2012-01-08 00:00:00.000000000 Z
12
+ date: 2012-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2157876040 !ruby/object:Gem::Requirement
16
+ requirement: &2161916460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2157876040
24
+ version_requirements: *2161916460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: yard
27
- requirement: &2157875520 !ruby/object:Gem::Requirement
27
+ requirement: &2161915960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 0.7.4
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2157875520
35
+ version_requirements: *2161915960
36
36
  description: Intrinsic adds properties to your objects
37
37
  email:
38
38
  - kurtisrainboltgreene@gmail.com
@@ -53,9 +53,12 @@ files:
53
53
  - lib/intrinsic/extrinsicism.rb
54
54
  - lib/intrinsic/intrinsicism.rb
55
55
  - lib/intrinsic/intrinsicism/coercion.rb
56
+ - lib/intrinsic/intrinsicism/coercion/array.rb
57
+ - lib/intrinsic/intrinsicism/coercion/hash.rb
56
58
  - lib/intrinsic/intrinsicism/coercion/integer.rb
57
59
  - lib/intrinsic/intrinsicism/coercion/proc.rb
58
60
  - lib/intrinsic/intrinsicism/coercion/string.rb
61
+ - lib/intrinsic/intrinsicism/coercion/symbol.rb
59
62
  - lib/intrinsic/intrinsicism/validation.rb
60
63
  - lib/intrinsic/version.rb
61
64
  - test/helper.rb
@@ -74,7 +77,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
77
  version: '0'
75
78
  segments:
76
79
  - 0
77
- hash: -3006681913647196833
80
+ hash: -4546154415391608797
78
81
  required_rubygems_version: !ruby/object:Gem::Requirement
79
82
  none: false
80
83
  requirements:
@@ -83,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
86
  version: '0'
84
87
  segments:
85
88
  - 0
86
- hash: -3006681913647196833
89
+ hash: -4546154415391608797
87
90
  requirements: []
88
91
  rubyforge_project:
89
92
  rubygems_version: 1.8.10