strongly_typed 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f0bae5b6fc3e2980229802c90a4ed9d6729ab18f
4
+ data.tar.gz: 50515ef3ab3fd63d748e286c30df661127a45e7e
5
+ SHA512:
6
+ metadata.gz: d9625762d322eb83230e0863b9cd03102a39abf9aad15d318d654791bbe61497193b689832f969b8da3521ee253b9c75c1fe371cdc2b4a57653d162015c28589
7
+ data.tar.gz: e06bd179b0f4c7815e8783fbfd80350cc0d777e6a54072c0081bd58df3e64b6b21a487bae0490df911fa256423a7a4d727579d9e8b44513b4dbc6165c6a68e4a
@@ -0,0 +1 @@
1
+ 2.0.0-p0
@@ -1,3 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 1.9.2
3
4
  - 1.9.3
5
+ - 2.0.0
6
+ - ruby-head
data/.yardopts CHANGED
@@ -2,4 +2,4 @@
2
2
  --title 'StronglyTyped API Documentation'
3
3
  --charset utf-8
4
4
  -
5
- LICENSE.txt
5
+ LICENSE.md
@@ -0,0 +1,23 @@
1
+ ## [In git](https://github.com/elgalu/strongly_typed/compare/v0.0.1...HEAD)
2
+
3
+ ### New Features
4
+ * n/a
5
+
6
+ ### Bugfixes
7
+ * n/a
8
+
9
+ ### Chores
10
+ * Added this Change Log file (Leo Gallucci)
11
+ * Added Code Climate badge and Dependency Status badge (Leo Gallucci)
12
+ * README.md, Gemfile, gemspec improvements (Leo Gallucci)
13
+ * Confirmed support for ruby 2.0.0-p0, added more rubies to travis, added .ruby-version file (Leo Gallucci)
14
+
15
+ ## [v0.0.1](https://github.com/elgalu/strongly_typed/tree/v0.0.1)
16
+
17
+ ## First gem release
18
+
19
+ ### Features:
20
+ * StronglyTyped::Model allows to call `attribute()` to define your object properties. (Leo Gallucci)
21
+ * Instance initialization with a hash, a.k.a named parameters. (Leo Gallucci)
22
+ * Instance initialization with same old way ordered parameters. (Leo Gallucci)
23
+ * Type conversions when possible. (Leo Gallucci)
File without changes
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # StronglyTyped
2
2
 
3
- [![Build Status](https://travis-ci.org/elgalu/strongly_typed.png)](https://travis-ci.org/elgalu/strongly_typed)
4
- [![Dependency Status](https://gemnasium.com/elgalu/strongly_typed.png)](https://gemnasium.com/elgalu/strongly_typed)
5
- [![Code Climate](https://codeclimate.com/github/elgalu/strongly_typed.png)](https://codeclimate.com/github/elgalu/strongly_typed)
3
+ [![Build Status][BS img]][Build Status]
4
+ [![Dependency Status][DS img]][Dependency Status]
5
+ [![Code Climate][CC img]][Code Climate]
6
+
7
+ ## Description
6
8
 
7
9
  This gem provides similar functionality as ruby core [Struct][] but instead of [inheritance][] i used [mixins][] and even wrote [something][blog on mixins] about my reasons to do so.
8
10
 
@@ -22,17 +24,7 @@ I took some ideas from others gems like [virtus][] and [structure][] but since n
22
24
 
23
25
  ## Installation
24
26
 
25
- Add this line to your application's Gemfile:
26
-
27
- gem 'strongly_typed'
28
-
29
- And then execute:
30
-
31
- $ bundle
32
-
33
- Or install it yourself as:
34
-
35
- $ gem install strongly_typed
27
+ Add `gem 'strongly_typed'` to your [Gemfile][] then run [bundle install][] or simply `$ gem install strongly_typed`
36
28
 
37
29
  ## Usage
38
30
 
@@ -87,18 +79,49 @@ Check the [full API here][]
87
79
 
88
80
  ## Contributing
89
81
 
90
- 1. Fork it
91
- 2. Create your feature branch (`git checkout -b my-new-feature`)
92
- 3. Commit your changes (`git commit -am 'Add some feature'`)
93
- 4. Push to the branch (`git push origin my-new-feature`)
94
- 5. Create new Pull Request
82
+ 1. Fork it.
83
+ 2. Make your feature addition or bug fix and create your feature branch.
84
+ 3. Update the [Change Log][].
85
+ 3. Add specs/tests for it. This is important so I don't break it in a future version unintentionally.
86
+ 4. Commit, create a new Pull Request.
87
+ 5. Check that your pull request passes the [build][travis pull requests].
95
88
 
96
- ### TODO
97
- + Improve generic TypeError to also show attribute name, expected type and value received instead
98
- + On coercible.rb require gem 'double' to avoid requiring 'date' when user doesn't need that
89
+ ### TODO for StronglyTyped::Model
99
90
  + Add :default => 'value' to attribute() to support defaults
100
91
  + Add :required => true/false to attribute() so an ArgumentError is raised when not provided
101
92
 
93
+ ### TODO for StronglyTyped::Coercible
94
+ + Extract coercer to another gem or use already existing coercion gem
95
+ + Improve generic TypeError to also show attribute name, expected type and value received instead
96
+ + On coercible.rb require gem 'double' to avoid requiring 'date' when user doesn't need that
97
+ + Add support for BigDecimal
98
+
99
+ ## License
100
+
101
+ Released under the MIT License. See the [LICENSE][] file for further details.
102
+
103
+ ## Links
104
+
105
+ [RubyGems][] | [Documentation][] | [Source][] | [Bugtracker][] | [Build Status][] | [Dependency Status][] | [Code Climate][]
106
+
107
+ [bundle install]: http://gembundler.com/man/bundle-install.1.html
108
+ [Gemfile]: http://gembundler.com/man/gemfile.5.html
109
+ [LICENSE]: LICENSE.md
110
+ [Change Log]: CHANGELOG.md
111
+
112
+ [RubyGems]: https://rubygems.org/gems/strongly_typed
113
+ [Documentation]: http://rubydoc.info/gems/strongly_typed
114
+ [Source]: https://github.com/elgalu/strongly_typed
115
+ [Bugtracker]: https://github.com/elgalu/strongly_typed/issues
116
+
117
+ [BS img]: https://travis-ci.org/elgalu/strongly_typed.png
118
+ [DS img]: https://gemnasium.com/elgalu/strongly_typed.png
119
+ [CC img]: https://codeclimate.com/github/elgalu/strongly_typed.png
120
+
121
+ [Build Status]: https://travis-ci.org/elgalu/strongly_typed
122
+ [travis pull requests]: https://travis-ci.org/elgalu/strongly_typed/pull_requests
123
+ [Dependency Status]: https://gemnasium.com/elgalu/strongly_typed
124
+ [Code Climate]: https://codeclimate.com/github/elgalu/strongly_typed
102
125
 
103
126
  [strongly_typed]: https://github.com/elgalu/strongly_typed
104
127
  [full API here]: http://rubydoc.info/gems/strongly_typed/frames/file/README.md
@@ -1,3 +1,3 @@
1
1
  module StronglyTyped
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -8,16 +8,11 @@ Gem::Specification.new do |gem|
8
8
  gem.platform = Gem::Platform::RUBY
9
9
  gem.name = "strongly_typed"
10
10
  gem.version = StronglyTyped::VERSION
11
- gem.summary = %q{Simple type validation for plain ruby object attributes that performs conversions when possible.}
12
- gem.description = <<-DESC
13
- A simple type validation tool for plain ruby object attributes that performs conversions when possible.
14
- Similar to ruby-core Struct but i didn't like using inheritance for something more appropriate for mixins.
15
- Check virtus gem if you are looking for a full featured attributes settings for your Ruby Objects that requires complex automatic coercions among other things.
16
- If you are looking for a nestable, coercible, Hash-like data structure take a look at structure gem.
17
- DESC
11
+ gem.summary = %q{Simple type validation for plain ruby object attributes that perform conversions whenever possible.}
12
+ gem.description = gem.summary
18
13
 
19
- gem.required_ruby_version = '>= 1.9.3'
20
- gem.required_rubygems_version = '>= 1.8.11'
14
+ gem.required_ruby_version = '>= 1.9.2'
15
+ gem.required_rubygems_version = '>= 1.8'
21
16
 
22
17
  gem.license = 'MIT'
23
18
 
@@ -30,10 +25,11 @@ DESC
30
25
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
31
26
  gem.require_paths = ["lib"]
32
27
 
33
- gem.add_runtime_dependency "boolean_class", "~> 0.0"
28
+ gem.add_runtime_dependency "boolean_class", ">= 0.0.3"
34
29
 
35
- gem.add_development_dependency "rake", "~> 10.0"
36
- gem.add_development_dependency "rspec", "~> 2.12"
30
+ gem.add_development_dependency "bundler", ">= 1.2"
31
+ gem.add_development_dependency "rake"
32
+ gem.add_development_dependency "rspec", "~> 2.13"
37
33
  gem.add_development_dependency "redcarpet", "~> 2.2"
38
34
  gem.add_development_dependency "yard", "~> 0.8"
39
35
  gem.add_development_dependency "simplecov", "~> 0.7"
metadata CHANGED
@@ -1,68 +1,74 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongly_typed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Leo Gallucci
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-21 00:00:00.000000000 Z
11
+ date: 2013-02-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: boolean_class
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
- version: '0.0'
19
+ version: 0.0.3
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: '0.0'
26
+ version: 0.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: rake
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ~>
45
+ - - '>='
36
46
  - !ruby/object:Gem::Version
37
- version: '10.0'
47
+ version: '0'
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ~>
52
+ - - '>='
44
53
  - !ruby/object:Gem::Version
45
- version: '10.0'
54
+ version: '0'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: rspec
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
59
  - - ~>
52
60
  - !ruby/object:Gem::Version
53
- version: '2.12'
61
+ version: '2.13'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
66
  - - ~>
60
67
  - !ruby/object:Gem::Version
61
- version: '2.12'
68
+ version: '2.13'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: redcarpet
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
73
  - - ~>
68
74
  - !ruby/object:Gem::Version
@@ -70,7 +76,6 @@ dependencies:
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
80
  - - ~>
76
81
  - !ruby/object:Gem::Version
@@ -78,7 +83,6 @@ dependencies:
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: yard
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
87
  - - ~>
84
88
  - !ruby/object:Gem::Version
@@ -86,7 +90,6 @@ dependencies:
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
94
  - - ~>
92
95
  - !ruby/object:Gem::Version
@@ -94,7 +97,6 @@ dependencies:
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: simplecov
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
101
  - - ~>
100
102
  - !ruby/object:Gem::Version
@@ -102,24 +104,12 @@ dependencies:
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ~>
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0.7'
110
- description: ! 'A simple type validation tool for plain ruby object attributes that
111
- performs conversions when possible.
112
-
113
- Similar to ruby-core Struct but i didn''t like using inheritance for something more
114
- appropriate for mixins.
115
-
116
- Check virtus gem if you are looking for a full featured attributes settings for
117
- your Ruby Objects that requires complex automatic coercions among other things.
118
-
119
- If you are looking for a nestable, coercible, Hash-like data structure take a look
120
- at structure gem.
121
-
122
- '
111
+ description: Simple type validation for plain ruby object attributes that perform
112
+ conversions whenever possible.
123
113
  email:
124
114
  - elgalu3@gmail.com
125
115
  executables: []
@@ -128,10 +118,12 @@ extra_rdoc_files: []
128
118
  files:
129
119
  - .gitignore
130
120
  - .rspec
121
+ - .ruby-version
131
122
  - .travis.yml
132
123
  - .yardopts
124
+ - CHANGELOG.md
133
125
  - Gemfile
134
- - LICENSE.txt
126
+ - LICENSE.md
135
127
  - README.md
136
128
  - Rakefile
137
129
  - lib/strongly_typed.rb
@@ -146,29 +138,28 @@ files:
146
138
  homepage: https://github.com/elgalu/strongly_typed
147
139
  licenses:
148
140
  - MIT
141
+ metadata: {}
149
142
  post_install_message:
150
143
  rdoc_options: []
151
144
  require_paths:
152
145
  - lib
153
146
  required_ruby_version: !ruby/object:Gem::Requirement
154
- none: false
155
147
  requirements:
156
- - - ! '>='
148
+ - - '>='
157
149
  - !ruby/object:Gem::Version
158
- version: 1.9.3
150
+ version: 1.9.2
159
151
  required_rubygems_version: !ruby/object:Gem::Requirement
160
- none: false
161
152
  requirements:
162
- - - ! '>='
153
+ - - '>='
163
154
  - !ruby/object:Gem::Version
164
- version: 1.8.11
155
+ version: '1.8'
165
156
  requirements: []
166
157
  rubyforge_project:
167
- rubygems_version: 1.8.25
158
+ rubygems_version: 2.0.0
168
159
  signing_key:
169
- specification_version: 3
170
- summary: Simple type validation for plain ruby object attributes that performs conversions
171
- when possible.
160
+ specification_version: 4
161
+ summary: Simple type validation for plain ruby object attributes that perform conversions
162
+ whenever possible.
172
163
  test_files:
173
164
  - spec/coercible_spec.rb
174
165
  - spec/model_spec.rb