aromat 0.3.2 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39650126cf5f6f8ac52bcad61bea0b171c5108c3
4
- data.tar.gz: 62177f010caf1d330eebba611fe9db03ee8439fd
3
+ metadata.gz: d4adde93bac853bdb099f7b61a0fedcd2b0dff2a
4
+ data.tar.gz: 2883765e20e05f48d5a8248b0b4b00c57655182e
5
5
  SHA512:
6
- metadata.gz: 859f0836fcd6f7bde1b4f2de4197c3d0b29046b5ebd4b84bf622c30207c0a946646e4e697ba6533cac061a2e1f153ecc5167c6eb5b5240efa35aba22ed3f829b
7
- data.tar.gz: 5cbce26b2b37af605aab882e24cf6d1505bfdfbf5f9cd253fa40d50e103eeae4188f9160ebf66776512a4fd73ad0477f8cba0c8d4396f1070b5656f2b035147c
6
+ metadata.gz: 13ce7f8dc73e26dde039b680019f1f399b0ffc195a29974e7b49fc25184d4580734d0f3dfcd85239d993a94ceb33636635d739045a5834b336f9bec1e66cc694
7
+ data.tar.gz: 8818b99d8eb1cd553b09518adef7653f9e4c40ffa00d8f28bd1ded96a39d2d2778c8e5b16b7ab0321ac20c986554ffc1a65271b61b5dcce947a928a79ca915f8
data/README.md CHANGED
@@ -69,6 +69,19 @@ a.rpad 2, '-'
69
69
  # => "oo"
70
70
  ```
71
71
 
72
+ ### Try
73
+
74
+ A _try_ method is monkey-patched into the *Object* root class, providing a means to call undefined methods on objects without raising anything (returning *nil* instead).
75
+
76
+ ```ruby
77
+ 'foobar'.try :foo
78
+ # => nil
79
+ 32.try :to_s
80
+ # => '32'
81
+ 32.try :+, 3
82
+ # => 35
83
+ ```
84
+
72
85
  ## License
73
86
 
74
87
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/lib/aromat/try.rb ADDED
@@ -0,0 +1,12 @@
1
+ # Aromat
2
+ # by Eresse <eresse@eresse.net>
3
+
4
+ # Monkey-patch Object Class
5
+ class Object
6
+
7
+ # Try
8
+ def try meth, *args
9
+ return nil unless respond_to? meth
10
+ send meth.to_sym, *args
11
+ end
12
+ end
@@ -5,5 +5,5 @@
5
5
  module Aromat
6
6
 
7
7
  # Version
8
- VERSION = '0.3.2'
8
+ VERSION = '0.4.0'
9
9
  end
data/lib/aromat.rb CHANGED
@@ -6,6 +6,7 @@ require 'aromat/version'
6
6
  require 'aromat/sym_keys'
7
7
  require 'aromat/dclone'
8
8
  require 'aromat/pad'
9
+ require 'aromat/try'
9
10
 
10
11
  # Aromat Module
11
12
  # Root Module for Aromat
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aromat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eresse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-22 00:00:00.000000000 Z
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -69,6 +69,7 @@ files:
69
69
  - lib/aromat/dclone.rb
70
70
  - lib/aromat/pad.rb
71
71
  - lib/aromat/sym_keys.rb
72
+ - lib/aromat/try.rb
72
73
  - lib/aromat/version.rb
73
74
  homepage: http://redmine.eresse.net/projects/aromat
74
75
  licenses: