astruct 2.11.0 → 3.0.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.
@@ -0,0 +1,2 @@
1
+ require "astruct"
2
+ require "pry"
metadata CHANGED
@@ -1,159 +1,172 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: astruct
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.0
5
- prerelease:
4
+ version: 3.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kurtis Rainbolt-Greene
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-19 00:00:00.000000000 Z
11
+ date: 2015-09-23 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
14
41
  - !ruby/object:Gem::Dependency
15
42
  name: rake
16
43
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
44
  requirements:
19
- - - ! '>='
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
20
60
  - !ruby/object:Gem::Version
21
- version: '0'
61
+ version: '0.9'
22
62
  type: :development
23
63
  prerelease: false
24
64
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
65
  requirements:
27
- - - ! '>='
66
+ - - "~>"
28
67
  - !ruby/object:Gem::Version
29
- version: '0'
68
+ version: '0.9'
30
69
  - !ruby/object:Gem::Dependency
31
- name: yard
70
+ name: pry-doc
32
71
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
72
  requirements:
35
- - - ! '>='
73
+ - - "~>"
36
74
  - !ruby/object:Gem::Version
37
- version: '0'
75
+ version: '0.6'
38
76
  type: :development
39
77
  prerelease: false
40
78
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
79
  requirements:
43
- - - ! '>='
80
+ - - "~>"
44
81
  - !ruby/object:Gem::Version
45
- version: '0'
82
+ version: '0.6'
46
83
  - !ruby/object:Gem::Dependency
47
- name: kramdown
84
+ name: codeclimate-test-reporter
48
85
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
86
  requirements:
51
- - - ! '>='
87
+ - - "~>"
52
88
  - !ruby/object:Gem::Version
53
- version: '0'
89
+ version: '0.4'
54
90
  type: :development
55
91
  prerelease: false
56
92
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
93
  requirements:
59
- - - ! '>='
94
+ - - "~>"
60
95
  - !ruby/object:Gem::Version
61
- version: '0'
96
+ version: '0.4'
62
97
  - !ruby/object:Gem::Dependency
63
98
  name: benchmark-ips
64
99
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
100
  requirements:
67
- - - ! '>='
101
+ - - "~>"
68
102
  - !ruby/object:Gem::Version
69
- version: '0'
103
+ version: '2.0'
70
104
  type: :development
71
105
  prerelease: false
72
106
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
107
  requirements:
75
- - - ! '>='
108
+ - - "~>"
76
109
  - !ruby/object:Gem::Version
77
- version: '0'
110
+ version: '2.0'
78
111
  - !ruby/object:Gem::Dependency
79
- name: simplecov
112
+ name: ruby-prof
80
113
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
114
  requirements:
83
- - - ! '>='
115
+ - - "~>"
84
116
  - !ruby/object:Gem::Version
85
- version: '0'
117
+ version: '0.14'
86
118
  type: :development
87
119
  prerelease: false
88
120
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
121
  requirements:
91
- - - ! '>='
122
+ - - "~>"
92
123
  - !ruby/object:Gem::Version
93
- version: '0'
94
- description: An alternative to OpenStruct
124
+ version: '0.14'
125
+ description: A better version of OpenStruct
95
126
  email:
96
- - kurtisrainboltgreene@gmail.com
127
+ - me@kurtisrainboltgreene.name
97
128
  executables: []
98
129
  extensions: []
99
130
  extra_rdoc_files: []
100
131
  files:
101
- - .gitignore
102
- - .rvmrc
103
- - .travis.yml
104
- - Gemfile
105
- - Guardfile
106
- - LICENSE
107
- - README.md
108
- - Rakefile
109
- - astruct.gemspec
110
- - bench/add_more_vs_ostruct.rb
111
- - bench/delete_vs_ostruct.rb
112
- - bench/dump_vs_ostruct.rb
113
- - bench/dynamic_vs_ostruct.rb
114
- - bench/inspect_vs_ostruct.rb
115
- - bench/load_vs_ostruct.rb
116
- - bench/nested_vs_ostruct.rb
117
- - bench/new_vs_ostruct.rb
118
- - bench/some_updates_vs_ostruct.rb
119
132
  - lib/astruct.rb
120
- - lib/astruct/module.rb
133
+ - lib/astruct/behavior.rb
121
134
  - lib/astruct/version.rb
122
- - test/helper.rb
123
- - test/lib/astruct_test.rb
124
- - test/lib/ostruct_test.rb
125
- homepage: http://krainboltgreene.github.com/astruct
126
- licenses: []
135
+ - spec/lib/astruct/behavior_spec.rb
136
+ - spec/lib/astruct/version_spec.rb
137
+ - spec/lib/astruct_spec.rb
138
+ - spec/spec_helper.rb
139
+ - test/lib/astruct/test_behavior.rb
140
+ - test/test_helper.rb
141
+ homepage: http://krainboltgreene.github.io/astruct.gem
142
+ licenses:
143
+ - MIT
144
+ metadata: {}
127
145
  post_install_message:
128
146
  rdoc_options: []
129
147
  require_paths:
130
148
  - lib
131
149
  required_ruby_version: !ruby/object:Gem::Requirement
132
- none: false
133
150
  requirements:
134
- - - ! '>='
151
+ - - ">="
135
152
  - !ruby/object:Gem::Version
136
153
  version: '0'
137
- segments:
138
- - 0
139
- hash: -3183751075223347111
140
154
  required_rubygems_version: !ruby/object:Gem::Requirement
141
- none: false
142
155
  requirements:
143
- - - ! '>='
156
+ - - ">="
144
157
  - !ruby/object:Gem::Version
145
158
  version: '0'
146
- segments:
147
- - 0
148
- hash: -3183751075223347111
149
159
  requirements: []
150
160
  rubyforge_project:
151
- rubygems_version: 1.8.24
161
+ rubygems_version: 2.4.6
152
162
  signing_key:
153
- specification_version: 3
154
- summary: An alternative to OpenStruct
163
+ specification_version: 4
164
+ summary: A better version of OpenStruct
155
165
  test_files:
156
- - test/helper.rb
157
- - test/lib/astruct_test.rb
158
- - test/lib/ostruct_test.rb
166
+ - test/lib/astruct/test_behavior.rb
167
+ - test/test_helper.rb
168
+ - spec/lib/astruct/behavior_spec.rb
169
+ - spec/lib/astruct/version_spec.rb
170
+ - spec/lib/astruct_spec.rb
171
+ - spec/spec_helper.rb
159
172
  has_rdoc:
data/.gitignore DELETED
@@ -1,34 +0,0 @@
1
- # See http://help.github.com/ignore-files/ for more about ignoring files.
2
- #
3
- # If you find yourself ignoring temporary files generated by your text editor
4
- # or operating system, you probably want to add a global ignore instead:
5
- # git config --global core.excludesfile ~/.gitignore
6
-
7
- # Ignore all of the generated gem stuff
8
- /pkg
9
- /*.gem
10
-
11
- # Ignore bundler config
12
- /.bundle
13
- /Gemfile.lock
14
-
15
- # Ignore all bundler caching
16
- /vendor/cache
17
- /vendor/ruby
18
-
19
- # Ignore all tempfiles
20
- /tmp
21
-
22
- # Ignores that should be in the global gitignore
23
- # /*.rbc
24
- # /.config
25
- /.yardoc
26
- # /InstalledFiles
27
- /_yardoc
28
- /coverage/
29
- /doc/
30
- # /lib/bundler/man/
31
- # /rdoc/
32
- # /spec/reports/
33
- # /test/tmp/
34
- # /test/version_tmp/
data/.rvmrc DELETED
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
7
- # Only full ruby name is supported here, for short names use:
8
- # echo "rvm use 1.9.3" > .rvmrc
9
- environment_id="ruby-1.9.3-p286@astruct"
10
-
11
- # Uncomment the following lines if you want to verify rvm version per project
12
- # rvmrc_rvm_version="1.16.17 (stable)" # 1.10.1 seams as a safe start
13
-
14
- # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
15
- # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
16
- # return 1
17
- # }
18
-
19
- # First we attempt to load the desired environment directly from the environment
20
- # file. This is very fast and efficient compared to running through the entire
21
- # CLI and selector. If you want feedback on which environment was used then
22
- # insert the word 'use' after --create as this triggers verbose mode.
23
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
24
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
25
- then
26
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
27
- [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
28
- \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
29
- else
30
- # If the environment file has not yet been created, use the RVM CLI to select.
31
- rvm --create "$environment_id" || {
32
- echo "Failed to create RVM environment '${environment_id}'."
33
- return 1
34
- }
35
- fi
36
-
37
- # If you use bundler, this might be useful to you:
38
- # if [[ -s Gemfile ]] && {
39
- # ! builtin command -v bundle >/dev/null ||
40
- # builtin command -v bundle | GREP_OPTIONS= \grep $rvm_path/bin/bundle >/dev/null
41
- # }
42
- # then
43
- # printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
44
- # gem install bundler
45
- # fi
46
- # if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null
47
- # then
48
- # bundle install | GREP_OPTIONS= \grep -vE '^Using|Your bundle is complete'
49
- # fi
@@ -1 +0,0 @@
1
- - 1.9.3
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in astruct.gemspec
4
- gemspec
data/Guardfile DELETED
@@ -1,14 +0,0 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
- guard 'minitest' do
5
- # with Minitest::Unit
6
- watch(%r|^test/test_(.*)\.rb|)
7
- watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
8
- watch(%r|^test/test_helper\.rb|) { "test" }
9
-
10
- # with Minitest::Spec
11
- # watch(%r|^spec/(.*)_spec\.rb|)
12
- # watch(%r|^lib/(.*)\.rb|) { |m| "spec/#{m[1]}_spec.rb" }
13
- # watch(%r|^spec/spec_helper\.rb|) { "spec" }
14
- end
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2012 Kurtis Rainbolt-Greene
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,32 +0,0 @@
1
- # Astruct
2
-
3
- AltStruct is a direct alternative to OpenStruct, the Ruby stdlibrary.
4
-
5
- In some cases AltStruct is slower than OpenStruct, especially on incredibly large keys.
6
-
7
-
8
- ## Installation
9
-
10
- Add this line to your application's Gemfile:
11
-
12
- gem 'astruct'
13
-
14
- And then execute:
15
-
16
- $ bundle
17
-
18
- Or install it yourself as:
19
-
20
- $ gem install astruct
21
-
22
- ## Usage
23
-
24
- TODO: Write usage instructions here
25
-
26
- ## Contributing
27
-
28
- 1. Fork it
29
- 2. Create your feature branch (`git checkout -b my-new-feature`)
30
- 3. Commit your changes (`git commit -am 'Added some feature'`)
31
- 4. Push to the branch (`git push origin my-new-feature`)
32
- 5. Create new Pull Request
data/Rakefile DELETED
@@ -1,43 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'bundler/gem_tasks'
3
- require 'rake/clean'
4
- require 'rake/testtask'
5
- require 'yard'
6
-
7
- begin
8
- Bundler.setup :default, :development
9
- rescue Bundler::BundlerError => error
10
- $stderr.puts error.message
11
- $stderr.puts "Run `bundle install` to install missing gems"
12
- exit error.status_code
13
- end
14
-
15
- Bundler::GemHelper.install_tasks
16
-
17
- desc "Run all of the tests"
18
- Rake::TestTask.new do |config|
19
- config.libs << 'test'
20
- config.pattern = 'test/**/*_test*'
21
- config.verbose = true
22
- config.warning = true
23
- end
24
-
25
- desc "Generate all of the docs"
26
- YARD::Rake::YardocTask.new do |config|
27
- config.files = Dir['lib/**/*.rb']
28
- end
29
-
30
- desc "Running all the benchmarks and writing results to file"
31
- task :bench do
32
- Dir[File.join(File.dirname(__FILE__), "bench", "*")].each do |benchmark|
33
- header = "\nPLATFORM: #{RUBY_DESCRIPTION}\nTIMESTAMP: #{Time.now}\n---\n"
34
- results = `bundle exec ruby #{benchmark}`
35
- document = header + results
36
- File.open benchmark, "a" do |file|
37
- file.write document.gsub /^/, "# "
38
- end
39
- end
40
- end
41
-
42
- desc 'Default: run tests, and generate docs'
43
- task :default => [ :test, :yard ]