ure 0.0.9 → 0.1.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 +4 -4
- data/README.md +10 -8
- data/lib/ure.rb +5 -0
- data/lib/ure/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b6e4af6f9aceb6ccaae506d0f01b1570684f08d
|
4
|
+
data.tar.gz: a444a0e82e8e8af10231d6aa84f2b60177fb4db6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d5cea8d5056c9ed72023dfdf90f5be85c7faa7726a5be5bdd42ee97e1daeb6f2a665a30498e1fd096ba7af3441100955992ded9b95518267a2df05ef9f1d327
|
7
|
+
data.tar.gz: ceb805bd1094ee93722e1cce7d6d7abe204735f892751cb4d1484c7d276433fb5d75c16c40deb12ff2d00b9b72e917b1169f10332d7859fcf8c2c7a952c5eac8
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ require 'ure'
|
|
29
29
|
Car = Ure.new(:paint, :year)
|
30
30
|
=> Car
|
31
31
|
scooby_van = Car.new(year: 1965, paint: :mural)
|
32
|
-
=>
|
32
|
+
=> #<Ure Car {:year=>1968, :paint=>:mural}>
|
33
33
|
```
|
34
34
|
Notice that it no longer matters what order `:year` and `:paint` are given to `Car`, because we have keyword arguments.
|
35
35
|
|
@@ -46,7 +46,7 @@ Also, what happens if we try to change the values in an existing Ure data object
|
|
46
46
|
|
47
47
|
```ruby
|
48
48
|
scooby_van = Car.new(year: 1965, paint: :mural)
|
49
|
-
=>
|
49
|
+
=> #<Ure Car {:year=>1968, :paint=>:mural}>
|
50
50
|
scooby_van.year = 2000
|
51
51
|
NoMethodError: undefined method `year=' for #<ure {:year=>1965, :paint=>:mural}
|
52
52
|
```
|
@@ -80,30 +80,32 @@ Ure's current public instance methods are:
|
|
80
80
|
|
81
81
|
`#members` - Returns an array of the required keywords.
|
82
82
|
|
83
|
+
`#fields` - Returns a hash with members as keys, along with their values.
|
84
|
+
|
83
85
|
`#[]` - Because Ure doesn't care about indexing, this allows users to treat instances of Ure as a hash.
|
84
86
|
|
85
87
|
`#each(&block)` - Converts the fields into a hash and calls each on them.
|
86
88
|
|
87
89
|
`#to_s` - Returns a string describing the object and its fields.
|
88
90
|
|
89
|
-
`#inspect`-
|
91
|
+
`#inspect`- Alias for `#to_s`.
|
90
92
|
|
91
|
-
`#to_a` - Alias for
|
93
|
+
`#to_a` - Alias for `#values`.
|
92
94
|
|
93
|
-
`#to_h` -
|
95
|
+
`#to_h` - Alias for `#fields`.
|
94
96
|
|
95
97
|
`#values` - Returns an array of the values in the fields.
|
96
98
|
|
97
99
|
`#values_at` - Takes one or more keys as arguments, and returns an array of the corresponding values.
|
98
100
|
|
99
|
-
`#class` - Returns
|
101
|
+
`#class` - Returns the class the instance of Ure is defined on.
|
102
|
+
|
103
|
+
`#to_json` - Returns a JSON string of members and values.
|
100
104
|
|
101
105
|
## Development
|
102
106
|
|
103
107
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
104
108
|
|
105
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
106
|
-
|
107
109
|
## Contributing
|
108
110
|
|
109
111
|
Bug reports and pull requests are welcome on GitHub at https://github.com/Calvyn82/ure. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
|
data/lib/ure.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "ure/version"
|
2
|
+
require "json"
|
2
3
|
class Ure < BasicObject
|
3
4
|
include ::Enumerable
|
4
5
|
def self.members
|
@@ -96,4 +97,8 @@ class Ure < BasicObject
|
|
96
97
|
def values_at(name, *args)
|
97
98
|
[fields[name]] + args.map { |arg| fields[arg] }
|
98
99
|
end
|
100
|
+
|
101
|
+
def to_json
|
102
|
+
fields.to_json
|
103
|
+
end
|
99
104
|
end
|
data/lib/ure/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clayton Flesher
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-11-
|
12
|
+
date: 2015-11-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|