slashjoin 0.0.2.1 → 0.0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5348960e3159fc23f90930b1cfc403ed37ee9bda
4
+ data.tar.gz: 70da023d46c4c0c138e44e8267ccb329b13bfef2
5
+ SHA512:
6
+ metadata.gz: 14b8b0d99746ac9f6f38fb025f006a1c68a980ff3ae92ee5c92035d389d9884a83ec1bc95db5fafde0796a3a4867b71a2ffd9acbce900336f4dfe28c5f62e231
7
+ data.tar.gz: 2135d8c342017dd1bd1f4fc6fae6dd9b6a3250e46ae6da9a92eb20bd3eb0addd1aac0a5177960e3be8e36f5ce74d493609138c0d08d129d185755dba0e692c28
@@ -1,30 +1,7 @@
1
- require 'slashjoin/version'
2
-
3
- module Slashjoin
4
- @@no_patching ||= false
5
- @@use_pathname ||= false
6
-
7
- ALREADY_LOADED ||= {}
8
-
9
- def self.no_patching?
10
- @@no_patching
11
- end
12
-
13
- def self.use_pathname
14
- @@user_pathname = true
15
- end
16
-
17
- def self.user_pathname= (arg)
18
- @@user_pathname = arg
19
- end
20
-
21
- def self.use_pathname?
22
- @@use_pathname
23
- end
24
- end
1
+ require 'slashjoin/class'
25
2
 
26
3
  require 'slashjoin/string'
27
4
  require 'slashjoin/uri'
28
5
  require 'slashjoin/pathname'
29
6
 
30
- require 'slashjoin/patching'
7
+ Slashjoin.patching
@@ -0,0 +1,44 @@
1
+ require 'slashjoin/version'
2
+
3
+ module Slashjoin
4
+ @@no_patch = false
5
+ @@use_pathname = false
6
+
7
+ # @return [Slashjoin]
8
+ def self.no_patch
9
+ @@no_patch = true
10
+ return self
11
+ end
12
+
13
+ # return [Boolean]
14
+ def self.no_patch?
15
+ @@no_patch
16
+ end
17
+
18
+ # @return [Slashjoin]
19
+ def self.use_pathname
20
+ @@user_pathname = true
21
+ return self
22
+ end
23
+
24
+ # @return [Boolean]
25
+ def self.use_pathname?
26
+ @@use_pathname
27
+ end
28
+
29
+ # @return [Hash]
30
+ def self.loaded_classes
31
+ @@loaded_classes ||= {}
32
+ end
33
+
34
+ # @return [Boolean]
35
+ def self.already_loaded?
36
+ loaded_classes.any?
37
+ end
38
+
39
+ # @return [Slashjoin]
40
+ def self.patching
41
+ require 'slashjoin/patching'
42
+ return self
43
+ end
44
+ end
@@ -1,3 +1,3 @@
1
1
  module Slashjoin
2
- @@no_patch = true
2
+ no_patch
3
3
  end
@@ -1,6 +1,7 @@
1
-
2
- # Error when NOT loaded 'slashjoin', 'slashjoin/{string, uri, pathname}'
3
- raise if Slashjoin::ALREADY_LOADED.nil?
1
+ unless Slashjoin.already_loaded?
2
+ msg = 'Error when NOT loaded `slashjoin\', `slashjoin/{string, uri, pathname}\''
3
+ raise msg
4
+ end
4
5
 
5
6
  patches = {
6
7
  string: proc{
@@ -23,13 +24,12 @@ patches = {
23
24
  }
24
25
 
25
26
  no_lib = %w(string).map(&:to_sym)
26
- loaded = Slashjoin::ALREADY_LOADED
27
- all = loaded.size == 0
27
+ loaded = Slashjoin.loaded_classes
28
+ all = (loaded.size == 0)
28
29
 
29
30
  patches.each{ |key, patch|
30
- if all || loaded[key]
31
- (require(key.to_s) unless no_lib.include?(key)) && (puts "include #{key}.")
32
- #require key.to_s unless no_lib.include? key
31
+ if (all || loaded[key])
32
+ require(key.to_s) unless no_lib.include?(key)
33
33
  case patch
34
34
  when 'pathname'
35
35
  patch.call if Slashjoin::use_pathname?
@@ -38,4 +38,3 @@ patches.each{ |key, patch|
38
38
  end
39
39
  end
40
40
  }
41
-
@@ -1,8 +1,8 @@
1
+ require 'slashjoin/class'
1
2
  require 'pathname'
2
3
 
3
4
  module Slashjoin
4
- ALREADY_LOADED ||= {}
5
- ALREADY_LOADED[:pathname] = true
5
+ loaded_classes[:pathname] = true
6
6
 
7
7
  module Pathname
8
8
  def / (other)
@@ -10,4 +10,3 @@ module Slashjoin
10
10
  end
11
11
  end
12
12
  end
13
-
@@ -1,9 +1,9 @@
1
+ require 'slashjoin/class'
1
2
  require 'uri'
2
3
  require 'pathname'
3
4
 
4
5
  module Slashjoin
5
- ALREADY_LOADED ||= {}
6
- ALREADY_LOADED[:string] = true
6
+ loaded_classes[:string] = true
7
7
  module String
8
8
  def / (other)
9
9
  case
@@ -1,8 +1,8 @@
1
+ require 'slashjoin/class'
1
2
  require 'uri'
2
3
 
3
4
  module Slashjoin
4
- ALREADY_LOADED ||= {}
5
- ALREADY_LOADED[:uri] = true
5
+ loaded_classes[:uri] = true
6
6
 
7
7
  module URI
8
8
  def / (other)
@@ -1,5 +1,5 @@
1
1
  module Slashjoin
2
- @@use_pathname = true
2
+ use_pathname
3
3
  end
4
4
 
5
5
  require 'slashjoin'
@@ -1,3 +1,3 @@
1
1
  module Slashjoin
2
- VERSION = "0.0.2.1"
2
+ VERSION = "0.0.2.2"
3
3
  end
@@ -4,16 +4,16 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'slashjoin/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
- gem.name = "slashjoin"
7
+ gem.name = 'slashjoin'
8
8
  gem.version = Slashjoin::VERSION
9
- gem.authors = ["USAMI Kenta"]
10
- gem.email = ["tadsan@zonu.me"]
11
- gem.description = %q{add String#/ method, do {file|URI} path join}
12
- gem.summary = %q{atode kaku.}
13
- gem.homepage = 'https://github.com/zonuexe/ruby-slashjoin'
9
+ gem.authors = ['USAMI Kenta']
10
+ gem.email = ['tadsan@zonu.me']
11
+ gem.description = 'add String#/ method, do {file|URI} path join'
12
+ gem.summary = "inspired by \(backslash) operator of MortScript."
13
+ gem.homepage = 'http://dt.zonu.me/'
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
18
+ gem.require_paths = ['lib']
19
19
  end
@@ -1,33 +1,34 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- $: << File.expand_path(File.dirname(__FILE__))
3
+ $:.unshift(File.expand_path(File.dirname(__FILE__)))
4
+
4
5
  require 'spec_helper'
5
6
  require 'slashjoin'
6
7
 
7
8
  describe Slashjoin do
8
9
  context String do
9
- it "join to URI path name" do
10
- base = "https://github.com/"
11
- user = "zonuexe/"
12
- project = "ruby-slashjoin"
13
- user_uri = base / user
14
- user_uri.should == URI.parse("https://github.com/zonuexe/")
15
- proj_uri = user_uri / project
16
- proj_uri.should == URI.parse("https://github.com/zonuexe/ruby-slashjoin")
10
+ context "join to URI path name" do
11
+ let(:base){ "https://github.com/" }
12
+ let(:user){ "zonuexe/" }
13
+ let(:project){ "ruby-slashjoin" }
14
+ let(:user_uri){ base / user }
15
+ it{ expect(user_uri).to eq URI.parse("https://github.com/zonuexe/") }
16
+ let(:proj_uri){ user_uri / project }
17
+ it{ expect(proj_uri).to eq URI.parse("https://github.com/zonuexe/ruby-slashjoin") }
17
18
  end
18
- it "join to UNIX like path name" do
19
- home = "/home"
20
- megurine_home = (home / "megurine")
21
- megurine_home.should == "/home/megurine"
22
- megurine_home.class.should == String
19
+ context "join to UNIX like path name" do
20
+ let(:home){ "/home" }
21
+ let(:megurine_home){ home / "megurine" }
22
+ it{ expect(megurine_home).to eq "/home/megurine" }
23
+ it{ expect(megurine_home).to be_a String }
23
24
  end
24
25
  end
25
26
  context Pathname do
26
- it "join to" do
27
- home = Pathname.new("/home")
28
- megurine_home = (home / "megurine")
29
- megurine_home.should == Pathname.new("/home/megurine")
30
- megurine_home.class.should == Pathname
27
+ context "join to" do
28
+ let(:home){ Pathname.new("/home") }
29
+ let(:megurine_home){ home / "megurine" }
30
+ it{ expect(megurine_home).to eq Pathname.new("/home/megurine") }
31
+ it{ expect(megurine_home).to be_a Pathname }
31
32
  end
32
33
  end
33
34
  end
@@ -1,4 +1,3 @@
1
1
  $: << File.expand_path(File.join(File.dirname(__FILE__), '..','lib'))
2
2
 
3
3
  require 'rspec'
4
-
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slashjoin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.1
5
- prerelease:
4
+ version: 0.0.2.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - USAMI Kenta
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-06 00:00:00.000000000 Z
11
+ date: 2013-06-08 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: add String#/ method, do {file|URI} path join
15
14
  email:
@@ -25,7 +24,8 @@ files:
25
24
  - README.md
26
25
  - Rakefile
27
26
  - lib/slashjoin.rb
28
- - lib/slashjoin/nopatching.rb
27
+ - lib/slashjoin/class.rb
28
+ - lib/slashjoin/nopatch.rb
29
29
  - lib/slashjoin/patching.rb
30
30
  - lib/slashjoin/pathname.rb
31
31
  - lib/slashjoin/string.rb
@@ -33,39 +33,34 @@ files:
33
33
  - lib/slashjoin/use_pathname.rb
34
34
  - lib/slashjoin/version.rb
35
35
  - slashjoin.gemspec
36
- - spec/regexp_spec.rb
37
36
  - spec/slashjoin_nopatching.rb
38
37
  - spec/slashjoin_spec.rb
39
38
  - spec/spec_helper.rb
40
- - spec/wcwidth_spec.rb
41
- homepage: https://github.com/zonuexe/ruby-slashjoin
39
+ homepage: http://dt.zonu.me/
42
40
  licenses: []
41
+ metadata: {}
43
42
  post_install_message:
44
43
  rdoc_options: []
45
44
  require_paths:
46
45
  - lib
47
46
  required_ruby_version: !ruby/object:Gem::Requirement
48
- none: false
49
47
  requirements:
50
- - - ! '>='
48
+ - - '>='
51
49
  - !ruby/object:Gem::Version
52
50
  version: '0'
53
51
  required_rubygems_version: !ruby/object:Gem::Requirement
54
- none: false
55
52
  requirements:
56
- - - ! '>='
53
+ - - '>='
57
54
  - !ruby/object:Gem::Version
58
55
  version: '0'
59
56
  requirements: []
60
57
  rubyforge_project:
61
- rubygems_version: 1.8.25
58
+ rubygems_version: 2.0.2
62
59
  signing_key:
63
- specification_version: 3
64
- summary: atode kaku.
60
+ specification_version: 4
61
+ summary: inspired by (backslash) operator of MortScript.
65
62
  test_files:
66
- - spec/regexp_spec.rb
67
63
  - spec/slashjoin_nopatching.rb
68
64
  - spec/slashjoin_spec.rb
69
65
  - spec/spec_helper.rb
70
- - spec/wcwidth_spec.rb
71
66
  has_rdoc:
@@ -1,14 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- $: << File.expand_path(File.dirname(__FILE__))
4
- require 'spec_helper'
5
-
6
- describe StringWidth::Tanasinn do
7
- module StringWidth
8
- module Tanasinn
9
- context RE_AMB_AS_SINGLE_2 do
10
-
11
- end
12
- end
13
- end
14
- end
@@ -1,66 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- $: << File.expand_path(File.dirname(__FILE__))
4
- require 'spec_helper'
5
-
6
- describe StringWidth::Tanasinn do
7
- before(:all){ include StringWidth::Tanasinn }
8
- describe "As single" do
9
- context "Ascii" do
10
- it "large A" do
11
- StringWidth::Tanasinn::wcwidth_amb_as_single("A").should == 1
12
- end
13
- it "large Z" do
14
- StringWidth::Tanasinn::wcwidth_amb_as_single("Z").should == 1
15
- end
16
- end
17
- context "Japanese" do
18
- it "Hiragana NU" do
19
- StringWidth::Tanasinn::wcwidth_amb_as_single("ぬ").should == 2
20
- end
21
- it "Hiragana RU" do
22
- StringWidth::Tanasinn::wcwidth_amb_as_single("る").should == 2
23
- end
24
- it "Hiragana PO" do
25
- StringWidth::Tanasinn::wcwidth_amb_as_single("ぽ").should == 2
26
- end
27
- it "Half Katakana GA" do
28
- ->{
29
- StringWidth::Tanasinn::wcwidth_amb_as_single("ガ")
30
- }.should raise_error ArgumentError
31
- end
32
- it "Half Katakana Small TSU" do
33
- StringWidth::Tanasinn::wcwidth_amb_as_single("ッ").should == 1
34
- end
35
- end
36
- end
37
- describe "As double" do
38
- context "Ascii" do
39
- it "large A" do
40
- StringWidth::Tanasinn::wcwidth_amb_as_double("A").should == 1
41
- end
42
- it "large Z" do
43
- StringWidth::Tanasinn::wcwidth_amb_as_double("Z").should == 1
44
- end
45
- end
46
- context "Japanese" do
47
- it "Hiragana NU" do
48
- StringWidth::Tanasinn::wcwidth_amb_as_double("ぬ").should == 2
49
- end
50
- it "Hiragana RU" do
51
- StringWidth::Tanasinn::wcwidth_amb_as_double("る").should == 2
52
- end
53
- it "Hiragana PO" do
54
- StringWidth::Tanasinn::wcwidth_amb_as_double("ぽ").should == 2
55
- end
56
- it "Half Katakana GA" do
57
- ->{
58
- StringWidth::Tanasinn::wcwidth_amb_as_double("ガ")
59
- }.should raise_error ArgumentError
60
- end
61
- it "Half Katakana Small TSU" do
62
- StringWidth::Tanasinn::wcwidth_amb_as_double("ッ").should == 1
63
- end
64
- end
65
- end
66
- end