aromat 0.3.2 → 0.4.0

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
  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: