arb 1.1.0 → 1.1.1

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/arb/version.rb +1 -1
  3. data/lib/arb.rb +15 -2
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ec8fab1a14091cdc75276cf30c9d87fb6cf4db4
4
- data.tar.gz: 2ea98018b96b02bf3e5da00c3585da309aa18533
3
+ metadata.gz: 52cf420f7acc3df64cbb8737af0f04283c72ae3a
4
+ data.tar.gz: d8d385d9839a3acb63612d29f6743fe79fa444a3
5
5
  SHA512:
6
- metadata.gz: 9a194f625e24859a9254e2c14e9065706f661ea9af3e00b0cf8b4af7fc6ebce01dfa25fcd3347e73bde182d8cccedee4adb8c25be401e3c352c97c99818fbbf0
7
- data.tar.gz: 4cec6bbbe316b0a25739936228ba66c67b990d8306ea8deefc0046e2fb6dffc2c17ee9a599799304408fd31c89bd61b912e417a5f1a2d8d033c2ea8fcb11d449
6
+ metadata.gz: 5ad36b98e00d65b65c779c374ae7cb9b29ad21f215b3f5840b960decad86e5620aeda6b9ac88541a7c0c4180641cc212fd0217a1c80744c86a6ddb7f437feb48
7
+ data.tar.gz: be04b3cad803d449c28ceda3046670e1918d631abd7f619a87c58d2b53c0f129638a542774dd662bbd1128fc9bb40e40a0c45c4c6cad9c196181a8bafec86790
data/lib/arb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Arb
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/lib/arb.rb CHANGED
@@ -2,15 +2,28 @@ module Arb
2
2
  class << self
3
3
  attr_accessor :required_gems
4
4
  end
5
+
5
6
  #params: prefix of gems that need to be required
7
+ #default will require the series of 'arb' gems whose prefix is 'arb_'
6
8
  Kernel.send :define_method, :arb_require do |*args, &block|
7
9
  Arb.required_gems||=[]
8
10
  args.unshift 'arb_'
9
11
  tmp=[]
10
- args.each { |arg| tmp << Gem::Specification.select { |gem| gem.name=~/^#{arg}/ }.map { |gem| gem.name }}
12
+ args.each { |arg| tmp << Gem::Specification.select { |gem| gem.author='arybin' && gem.name=~/^#{arg}/ }.map { |gem| gem.name }}
11
13
  tmp.compact.uniq.flatten!.each { |gem| Arb.required_gems<< gem if require gem }
12
- Arb.required_gems.empty? ? 'Nothing required yet!' : 'Gems successfully required: ' << Arb.required_gems.uniq.join(',')<<'!'
14
+ Arb.required_gems.empty? ? 'Nothing required yet!' : 'Gems successfully required: ' <<Arb.required_gems.uniq.join(',') <<'!'
15
+ end
16
+
17
+ #prepare the arb_* methods depend on the series of 'arb' gems to 'using' the refinement in Arb namespace quickly.
18
+ Kernel.send :define_method, :arb_init_using do |*args, &block|
19
+ Arb.constants.map{|const| const=~/(.*)refine$/i && ['arb_'<<$1.downcase,const] }.compact.each do |map|
20
+ Kernel.send :define_method,map[0] do |*args,&block|
21
+ self.class.send :using,Arb.const_get(map[1])
22
+ end
23
+ end
13
24
  end
14
25
 
26
+
15
27
  arb_require
28
+ arb_init_using
16
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - arybin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-19 00:00:00.000000000 Z
11
+ date: 2016-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler