arb 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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