ryo.rb 0.5.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63de7b5fef56bfd65a818a1ee0b37617f90778c51f53688fa603c76b25bbfd47
4
- data.tar.gz: 574f61630e3e966f85a73e149250741807ee0bebef9d69dd072a5e612eeabe3d
3
+ metadata.gz: 9ad842754d7d2a619c1fd552527e519b41ddf36f704c7d4b02f2f367b0f2ee1d
4
+ data.tar.gz: 2457cc1cf78cfb725b8f35c5c0a4cce01c35896f0a3ed0ac32a19faeb45b0177
5
5
  SHA512:
6
- metadata.gz: 6e5fdc169813d8ac506f06a3d5cf3adeeda8b693d4dedd8a85d0944405107579c5fdf10d1a3b21729cba5a20c244c94b32794d797ceb2f1408ff97b4ad37e271
7
- data.tar.gz: 01dc1c068bc3c565d90b4662678e9bd7d59a508488c80bbcfcf09652f481a7a4df4fb779c50683440ebff5615c7ac6b138712298a5e99f7abf8859f1dd7f55d8
6
+ metadata.gz: 9cc4d227f2a157b112ae5ae3275062e5ba1b1241d9122c89341859a342d05d558abf4f89bed034a629a5f4f9cda966a47e794f22e9e3fede8e136a758fcd2a1c
7
+ data.tar.gz: f513c798461f72270fa247cc927591ae1ec26dd3e0d9606ea7bf81936063fa0026847699f6d233c93505dc891e1111560cbbd7a53d019e0fb033166d58d036a1
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  source "https://rubygems.org"
4
- gem "test-cmd.rb", github: "0x1eef/test-cmd.rb", tag: "v0.4.0"
5
4
  gemspec
data/README.md CHANGED
@@ -2,13 +2,6 @@
2
2
 
3
3
  Ryo implements prototype-based inheritance, in Ruby.
4
4
 
5
- Ryo's implementation of prototype-based inheritance offers
6
- a flexible approach for establishing object relationships,
7
- and building configuration objects. Ryo can also act as a
8
- recursive OpenStruct alternative. JavaScript's implementation of
9
- prototype-based inheritance served as a reference point
10
- for Ryo's implementation.
11
-
12
5
  ## Examples
13
6
 
14
7
  ### Prototypes
@@ -308,7 +301,7 @@ p ryo.then { 34 } # => 34
308
301
  #### Duck typing
309
302
 
310
303
  The documentation has used simple terms to describe the objects that Ryo works
311
- with: Hash and Array objects. But actually, Ryo uses duck typing, so any object
304
+ with: Hash and Array objects. But in reality, Ryo uses duck typing, so any object
312
305
  that implements `#each_pair` can be treated as a Hash object, and any object that
313
306
  implements `#each` can be treated as an Array object. Note that only
314
307
  [Ryo.from](https://0x1eef.github.io/x/ryo.rb/Ryo.html#from-class_method),
@@ -340,41 +333,27 @@ p point.x # => 5
340
333
  p point.y # => 10
341
334
  ```
342
335
 
343
- ## Sources
344
-
345
- * [Source code (GitHub)](https://github.com/0x1eef/ryo.rb#readme)
346
- * [Source code (GitLab)](https://gitlab.com/0x1eef/ryo.rb#about)
347
-
348
- ## <a id='install'>Install</a>
349
-
350
- **Git**
351
-
352
- Ryo is distributed as a RubyGem through its git repositories. <br>
353
- [GitHub](https://github.com/0x1eef/ryo.rb),
354
- and
355
- [GitLab](https://gitlab.com/0x1eef/ryo.rb)
356
- are available as sources.
357
-
358
- ```ruby
359
- # Gemfile
360
- gem "ryo.rb", github: "0x1eef/ryo.rb", tag: "v0.4.7"
361
- ```
336
+ ## Install
362
337
 
363
338
  **Rubygems.org**
364
339
 
365
- Ryo can also be installed via rubygems.org.
340
+ Ryo can be installed via rubygems.org:
366
341
 
367
342
  gem install ryo.rb
368
343
 
344
+ ## Sources
345
+
346
+ * [GitHub](https://github.com/0x1eef/ryo.rb#readme)
347
+ * [GitLab](https://gitlab.com/0x1eef/ryo.rb#about)
348
+
369
349
  ## Thanks
370
350
 
371
351
  Thanks to
372
352
  [@awfulcooking (mooff)](https://github.com/awfulcooking)
373
- for the helpful discussions and advice.
353
+ for the helpful discussions, ideas, and advice
374
354
 
375
355
  ## License
376
356
 
377
- [BSD Zero Clause](https://choosealicense.com/licenses/0bsd/).
357
+ [BSD Zero Clause](https://choosealicense.com/licenses/0bsd/)
378
358
  <br>
379
- See [LICENSE](./LICENSE).
380
-
359
+ See [LICENSE](./LICENSE)
data/lib/ryo/builder.rb CHANGED
@@ -26,7 +26,7 @@ module Ryo::Builder
26
26
  # returned in its place.
27
27
  def self.build(buildee, props, prototype = nil)
28
28
  if Ryo.ryo?(props)
29
- build(builedee, Ryo.table_of(props), prototype || Ryo.prototype_of(props))
29
+ build(buildee, Ryo.table_of(props), prototype || Ryo.prototype_of(props))
30
30
  else
31
31
  ryo = buildee.new
32
32
  Ryo.set_prototype_of(ryo, prototype)
data/lib/ryo/json.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ##
2
4
  # The {Ryo::JSON Ryo::JSON} module provides a number of methods
3
5
  # for coercing JSON data into a Ryo object. It must be required
data/lib/ryo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ryo
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.2"
5
5
  end
data/ryo.rb.gemspec CHANGED
@@ -10,12 +10,12 @@ Gem::Specification.new do |gem|
10
10
  gem.licenses = ["MIT"]
11
11
  gem.files = `git ls-files`.split($/)
12
12
  gem.require_paths = ["lib"]
13
- gem.description = "Ryo implements prototype-based inheritance, in Ruby."
13
+ gem.description = "Ryo implements prototype-based inheritance, in Ruby"
14
14
  gem.summary = gem.description
15
15
  gem.add_development_dependency "yard", "~> 0.9"
16
16
  gem.add_development_dependency "redcarpet", "~> 3.5"
17
17
  gem.add_development_dependency "rspec", "~> 3.10"
18
18
  gem.add_development_dependency "rubocop-rspec", "~> 2.12"
19
19
  gem.add_development_dependency "standard", "~> 1.9"
20
- gem.add_development_dependency "test-cmd.rb", "~> 0.4"
20
+ gem.add_development_dependency "test-cmd.rb", "~> 0.12"
21
21
  end
data/spec/readme_spec.rb CHANGED
@@ -5,7 +5,7 @@ require "test-cmd"
5
5
 
6
6
  RSpec.describe "README.md examples" do
7
7
  run_example = ->(file) do
8
- Test::Cmd.cmd("ruby share/ryo.rb/examples/#{file}")
8
+ cmd("ruby", "share/ryo.rb/examples/#{file}")
9
9
  end
10
10
 
11
11
  subject do
@@ -5,6 +5,15 @@ require_relative "setup"
5
5
  RSpec.describe "Ryo objects" do
6
6
  let(:car) { Ryo(name: "Car") }
7
7
 
8
+ describe "Kernel#Ryo" do
9
+ context "when given a Ryo object" do
10
+ subject { Ryo(ryo) }
11
+ let(:ryo) { Ryo(name: "Car") }
12
+
13
+ it { is_expected.to be_instance_of(Ryo::Object) }
14
+ end
15
+ end
16
+
8
17
  describe "#respond_to?" do
9
18
  context "when a property is defined" do
10
19
  subject { car.respond_to?(:name) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ryo.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - '0x1eef'
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-16 00:00:00.000000000 Z
11
+ date: 2024-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yard
@@ -86,15 +86,15 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.4'
89
+ version: '0.12'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.4'
97
- description: Ryo implements prototype-based inheritance, in Ruby.
96
+ version: '0.12'
97
+ description: Ryo implements prototype-based inheritance, in Ruby
98
98
  email:
99
99
  - 0x1eef@protonmail.com
100
100
  executables: []
@@ -166,8 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
- rubygems_version: 3.5.3
169
+ rubygems_version: 3.5.9
170
170
  signing_key:
171
171
  specification_version: 4
172
- summary: Ryo implements prototype-based inheritance, in Ruby.
172
+ summary: Ryo implements prototype-based inheritance, in Ruby
173
173
  test_files: []