xot 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,7 +1,10 @@
1
1
  # -*- mode: ruby; coding: utf-8 -*-
2
2
 
3
3
 
4
- require 'bundler/setup'
4
+ File.expand_path('../lib', __FILE__).tap do |path|
5
+ $:.unshift path if !$:.include?(path) && File.directory?(path)
6
+ end
7
+
5
8
  require 'xot/rake'
6
9
  require 'xot/module'
7
10
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
data/ext/xot/extconf.rb CHANGED
@@ -1,9 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require 'bundler/setup'
4
+ File.expand_path('../../../lib', __FILE__).tap do |path|
5
+ $:.unshift path if !$:.include?(path) && File.directory?(path)
6
+ end
7
+
5
8
  require 'mkmf'
6
- require 'xot/rake/helpers'
9
+ require 'xot/rake'
7
10
  require 'xot/module'
8
11
 
9
12
  include Xot::Rake
data/lib/xot.rb CHANGED
@@ -4,4 +4,4 @@
4
4
  require 'xot/module'
5
5
  require 'xot/hookable'
6
6
  require 'xot/setter'
7
- require 'xot/blockutil'
7
+ require 'xot/block_util'
@@ -0,0 +1,22 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+
4
+ module Xot
5
+
6
+
7
+ module BlockUtil
8
+
9
+ def instance_eval_or_block_call (recv, *args, &block)
10
+ if block.arity == 0
11
+ recv.instance_eval &block
12
+ else
13
+ block.call recv, *args
14
+ end
15
+ end
16
+
17
+ extend self
18
+
19
+ end# BlockUtil
20
+
21
+
22
+ end# Xot
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+
4
+ module Xot
5
+
6
+
7
+ module LoadPath
8
+
9
+ def unshift_lib (base_dir, *module_names)
10
+ each_lib_dir_to_add base_dir, *module_names do |dir|
11
+ $LOCA_PATH.unshift dir
12
+ end
13
+ end
14
+
15
+ def push_lib (base_dir, *module_names)
16
+ each_lib_dir_to_add base_dir, *module_names do |dir|
17
+ $LOAD_PATH.push dir
18
+ end
19
+ end
20
+
21
+ extend self
22
+
23
+ private
24
+
25
+ def each_lib_dir_to_add (base_dir, *module_names)
26
+ module_names.each do |name|
27
+ dir = File.join base_dir, name.to_s.downcase, 'lib'
28
+ next if $LOAD_PATH.include?(dir) || !File.directory?(dir)
29
+ yield dir
30
+ end
31
+ end
32
+
33
+ end# LoadPath
34
+
35
+
36
+ end# Xot
data/lib/xot/module.rb CHANGED
@@ -4,22 +4,26 @@
4
4
  module Xot
5
5
 
6
6
 
7
- extend module ClassMethods
7
+ extend module ModuleInfo
8
8
 
9
- def root_dir ()
10
- File.expand_path(File.join File.dirname(__FILE__), '..', '..')
9
+ def version ()
10
+ open(root_dir 'VERSION') {|f| f.readline.chomp}
11
+ end
12
+
13
+ def root_dir (path = '')
14
+ File.expand_path "../../../#{path}", __FILE__
11
15
  end
12
16
 
13
17
  def include_dirs ()
14
- [File.join(root_dir, 'include')]
18
+ %w[include].map {|dir| root_dir dir}
15
19
  end
16
20
 
17
- def library_dirs ()
18
- %w[lib].map {|dir| File.join root_dir, dir}
21
+ def lib_dirs ()
22
+ %w[lib].map {|dir| root_dir dir}
19
23
  end
20
24
 
21
25
  def task_dir ()
22
- File.join root_dir, 'task'
26
+ root_dir 'task'
23
27
  end
24
28
 
25
29
  def load_tasks (*names)
@@ -33,13 +37,9 @@ module Xot
33
37
  end
34
38
  end
35
39
 
36
- def version ()
37
- open(File.join root_dir, 'VERSION') {|f| f.readline.chomp}
38
- end
39
-
40
40
  self
41
41
 
42
- end# ClassMethods
42
+ end# ModuleInfo
43
43
 
44
44
 
45
45
  end# Xot
data/lib/xot/rake.rb CHANGED
@@ -1,5 +1,100 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require 'xot/rake/task'
5
- require 'xot/rake/helpers'
4
+ require 'erb'
5
+ require 'pp'
6
+
7
+
8
+ module Xot
9
+
10
+
11
+ module Rake
12
+
13
+
14
+ def empty_task (*names)
15
+ names.each do |name|
16
+ task name => '.'
17
+ end
18
+ end
19
+
20
+ def glob (*patterns)
21
+ paths = []
22
+ patterns.each do |pattern|
23
+ paths.concat Dir.glob(pattern)
24
+ end
25
+ paths
26
+ end
27
+
28
+ def erb (str)
29
+ ERB.new(str, nil, "%").result binding
30
+ end
31
+
32
+ def compile (path, out)
33
+ open(path) do |input|
34
+ open(out, "w") do |output|
35
+ output.write erb(input.read)
36
+ end
37
+ end
38
+ #rescue
39
+ end
40
+
41
+ def params (n, sep = "", &block)
42
+ raise "block not given." unless block
43
+ return "" if n == 0
44
+ (1..n).map(&block).join(sep)
45
+ end
46
+
47
+ def convertions (paths, convs)
48
+ raise "empty conversion." if convs.empty?
49
+ paths = paths.map do |path|
50
+ convpath = path
51
+ convs.each do |from, to|
52
+ convpath = convpath.sub(/#{from.gsub('.', '\.')}$/, to)
53
+ end
54
+ [path, convpath]
55
+ end
56
+ Hash[*paths.flatten]
57
+ end
58
+
59
+ def env (name, defval = nil)
60
+ case val = (ENV[name.to_s] || Object.const_get(name) rescue defval)
61
+ when /^\d+$/ then val.to_i
62
+ when 'true' then true
63
+ when 'false' then false
64
+ else val
65
+ end
66
+ end
67
+
68
+ def header (mod)
69
+ puts "-- #{mod.to_s.capitalize} " + "-" * 50
70
+ end
71
+
72
+ def win32? ()
73
+ RUBY_PLATFORM =~ /mswin|ming|cygwin/
74
+ end
75
+
76
+ def mswin? ()
77
+ RUBY_PLATFORM =~ /mswin/
78
+ end
79
+
80
+ def ming? ()
81
+ RUBY_PLATFORM =~ /ming/
82
+ end
83
+
84
+ def cygwin? ()
85
+ RUBY_PLATFORM =~ /cygwin/
86
+ end
87
+
88
+ def cocoa? ()
89
+ RUBY_PLATFORM =~ /darwin/
90
+ end
91
+
92
+ def clang? ()
93
+ RbConfig::CONFIG['CXX'] =~ /clang/
94
+ end
95
+
96
+
97
+ end# Rake
98
+
99
+
100
+ end# Xot
data/task/gem.rake CHANGED
@@ -19,7 +19,8 @@ namespace :gem do
19
19
 
20
20
  gemspec = "#{name}.gemspec"
21
21
  gemname = env :GEMNAME, name
22
- gemfile = "#{gemname}-#{mod.version}.gem"
22
+ gemver = mod.version
23
+ gemfile = "#{gemname}-#{gemver}.gem"
23
24
 
24
25
 
25
26
  task :build => gemfile
@@ -33,14 +34,16 @@ namespace :gem do
33
34
  end
34
35
 
35
36
  task :uninstall do
36
- sh %( #{gem} uninstall #{name} )
37
+ sh %( #{gem} uninstall -x --version #{gemver} #{gemname} )
37
38
  end
38
39
 
39
- task :upload => gemfile do
40
+ task :upload => :test_install do
40
41
  sh %( #{gem} push #{gemfile} )
41
42
  end
42
43
 
43
- file gemfile => [:lib, :ext, :rdoc] do
44
+ task :test_install => [:install, :uninstall]
45
+
46
+ file gemfile => [:ext, :rdoc] do
44
47
  sh %( #{gem} build #{gemspec} )
45
48
  end
46
49
 
data/test/helper.rb ADDED
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+
4
+ File.expand_path('../../lib', __FILE__).tap do |path|
5
+ $:.unshift path if !$:.include?(path) && File.directory?(path)
6
+ end
7
+
8
+ require 'test/unit'
9
+ require 'xot'
10
+ require 'xot/tester'
@@ -1,12 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require_relative 'helpers'
4
+ require_relative 'helper'
5
5
 
6
6
 
7
7
  class TestBlockUtil < Test::Unit::TestCase
8
8
 
9
- include Xot::BlockUtil::ClassMethods
9
+ include Xot::BlockUtil
10
10
 
11
11
  class Temp
12
12
 
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require_relative 'helpers'
4
+ require_relative 'helper'
5
5
 
6
6
 
7
7
  class TestHookable < Test::Unit::TestCase
@@ -1,11 +1,9 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require_relative 'helpers'
4
+ require_relative 'helper'
5
5
  require 'xot/rake'
6
6
 
7
- include Xot::Rake
8
-
9
7
 
10
8
  Const = 'const'
11
9
  Zero = 0
@@ -18,7 +16,9 @@ TrueStr = 'true'
18
16
  FalseStr = 'false'
19
17
 
20
18
 
21
- class TestRakeHelpers < Test::Unit::TestCase
19
+ class TestRake < Test::Unit::TestCase
20
+
21
+ include Xot::Rake
22
22
 
23
23
  def test_set ()
24
24
  assert_equal 'const', env(:Const, :dummy)
@@ -32,4 +32,4 @@ class TestRakeHelpers < Test::Unit::TestCase
32
32
  assert_equal false, env(:FalseStr, :dummy)
33
33
  end
34
34
 
35
- end# TestRakeHelpers
35
+ end# TestRake
data/test/test_setter.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require_relative 'helpers'
4
+ require_relative 'helper'
5
5
 
6
6
 
7
7
  class TestSetter < Test::Unit::TestCase
data/test/test_tester.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require_relative 'helpers'
4
+ require_relative 'helper'
5
5
 
6
6
 
7
7
  class TestTester < Test::Unit::TestCase
data/xot.gemspec CHANGED
@@ -1,19 +1,21 @@
1
1
  # -*- mode: ruby; coding: utf-8 -*-
2
2
 
3
3
 
4
- $: << File.expand_path('../lib', __FILE__)
4
+ File.expand_path('../lib', __FILE__) do |path|
5
+ $:.unshift path if !$:.include?(path) && File.directory?(path)
6
+ end
5
7
 
6
8
  require 'xot/module'
7
9
 
8
10
 
9
11
  Gem::Specification.new do |s|
10
- def glob (*patterns)
12
+ glob = -> *patterns do
11
13
  patterns.map {|pat| Dir.glob(pat).to_a}.flatten
12
14
  end
13
15
 
14
16
  mod = Xot
15
17
  name = mod.name.downcase
16
- rdocs = glob *%w[README]
18
+ rdocs = glob.call *%w[README]
17
19
 
18
20
  s.name = name
19
21
  s.summary = 'A Utility library for C++ developemt.'
@@ -22,13 +24,12 @@ Gem::Specification.new do |s|
22
24
 
23
25
  s.authors = %w[snori]
24
26
  s.email = 'snori@xord.org'
25
- s.homepage = "http://github.com/xord/#{name}"
27
+ s.homepage = "http://github.com/xord/#{name}/wiki"
26
28
 
27
29
  s.platform = Gem::Platform::RUBY
28
30
  s.required_ruby_version = '>=1.9.0'
29
31
 
30
- s.add_runtime_dependency 'bundler'
31
- s.add_development_dependency 'rake'
32
+ s.add_runtime_dependency 'rake'
32
33
  s.add_development_dependency 'gemcutter'
33
34
 
34
35
  s.files = `git ls-files`.split $/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-23 00:00:00.000000000 Z
12
+ date: 2013-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
14
  - !ruby/object:Gem::Dependency
31
15
  name: rake
32
16
  requirement: !ruby/object:Gem::Requirement
@@ -35,7 +19,7 @@ dependencies:
35
19
  - - ! '>='
36
20
  - !ruby/object:Gem::Version
37
21
  version: '0'
38
- type: :development
22
+ type: :runtime
39
23
  prerelease: false
40
24
  version_requirements: !ruby/object:Gem::Requirement
41
25
  none: false
@@ -83,12 +67,11 @@ files:
83
67
  - include/xot/string.h
84
68
  - include/xot/util.h
85
69
  - lib/xot.rb
86
- - lib/xot/blockutil.rb
70
+ - lib/xot/block_util.rb
87
71
  - lib/xot/hookable.rb
72
+ - lib/xot/load_path.rb
88
73
  - lib/xot/module.rb
89
74
  - lib/xot/rake.rb
90
- - lib/xot/rake/helpers.rb
91
- - lib/xot/rake/task.rb
92
75
  - lib/xot/setter.rb
93
76
  - src/debug.cpp
94
77
  - src/defs.cpp
@@ -100,14 +83,14 @@ files:
100
83
  - task/lib.rake
101
84
  - task/submodule.rake
102
85
  - task/test.rake
103
- - test/helpers.rb
104
- - test/test_blockutil.rb
86
+ - test/helper.rb
87
+ - test/test_block_util.rb
105
88
  - test/test_hookable.rb
106
- - test/test_rake_helpers.rb
89
+ - test/test_rake.rb
107
90
  - test/test_setter.rb
108
91
  - test/test_tester.rb
109
92
  - xot.gemspec
110
- homepage: http://github.com/xord/xot
93
+ homepage: http://github.com/xord/xot/wiki
111
94
  licenses: []
112
95
  post_install_message:
113
96
  rdoc_options: []
@@ -125,19 +108,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
108
  - - ! '>='
126
109
  - !ruby/object:Gem::Version
127
110
  version: '0'
128
- segments:
129
- - 0
130
- hash: -2411393735546273344
131
111
  requirements: []
132
112
  rubyforge_project:
133
- rubygems_version: 1.8.25
113
+ rubygems_version: 1.8.24
134
114
  signing_key:
135
115
  specification_version: 3
136
116
  summary: A Utility library for C++ developemt.
137
117
  test_files:
138
- - test/helpers.rb
139
- - test/test_blockutil.rb
118
+ - test/helper.rb
119
+ - test/test_block_util.rb
140
120
  - test/test_hookable.rb
141
- - test/test_rake_helpers.rb
121
+ - test/test_rake.rb
142
122
  - test/test_setter.rb
143
123
  - test/test_tester.rb
data/lib/xot/blockutil.rb DELETED
@@ -1,26 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- module Xot
5
-
6
-
7
- module BlockUtil
8
-
9
- extend module ClassMethods
10
-
11
- def instance_eval_or_block_call (recv, *args, &block)
12
- if block.arity == 0
13
- recv.instance_eval &block
14
- else
15
- block.call recv, *args
16
- end
17
- end
18
-
19
- self
20
-
21
- end# ClassMethods
22
-
23
- end# BlockUtil
24
-
25
-
26
- end# Xot
@@ -1,94 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- require 'erb'
5
- require 'pp'
6
-
7
-
8
- module Xot
9
-
10
-
11
- module Rake
12
-
13
-
14
- def glob (*patterns)
15
- paths = []
16
- patterns.each do |pattern|
17
- paths.concat Dir.glob(pattern)
18
- end
19
- paths
20
- end
21
-
22
- def erb (str)
23
- ERB.new(str, nil, "%").result binding
24
- end
25
-
26
- def compile (path, out)
27
- open(path) do |input|
28
- open(out, "w") do |output|
29
- output.write erb(input.read)
30
- end
31
- end
32
- #rescue
33
- end
34
-
35
- def params (n, sep = "", &block)
36
- raise "block not given." unless block
37
- return "" if n == 0
38
- (1..n).map(&block).join(sep)
39
- end
40
-
41
- def convertions (paths, convs)
42
- raise "empty conversion." if convs.empty?
43
- paths = paths.map do |path|
44
- convpath = path
45
- convs.each do |from, to|
46
- convpath = convpath.sub(/#{from.gsub('.', '\.')}$/, to)
47
- end
48
- [path, convpath]
49
- end
50
- Hash[*paths.flatten]
51
- end
52
-
53
- def env (name, defval = nil)
54
- case val = (ENV[name.to_s] || Object.const_get(name) rescue defval)
55
- when /^\d+$/ then val.to_i
56
- when 'true' then true
57
- when 'false' then false
58
- else val
59
- end
60
- end
61
-
62
- def header (mod)
63
- puts "-- #{mod.to_s.capitalize} " + "-" * 50
64
- end
65
-
66
- def win32? ()
67
- RUBY_PLATFORM =~ /mswin|ming|cygwin/
68
- end
69
-
70
- def mswin? ()
71
- RUBY_PLATFORM =~ /mswin/
72
- end
73
-
74
- def ming? ()
75
- RUBY_PLATFORM =~ /ming/
76
- end
77
-
78
- def cygwin? ()
79
- RUBY_PLATFORM =~ /cygwin/
80
- end
81
-
82
- def cocoa? ()
83
- RUBY_PLATFORM =~ /darwin/
84
- end
85
-
86
- def clang? ()
87
- RbConfig::CONFIG['CXX'] =~ /clang/
88
- end
89
-
90
-
91
- end# Rake
92
-
93
-
94
- end# Xot
data/lib/xot/rake/task.rb DELETED
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- module Xot
5
-
6
-
7
- module Rake
8
-
9
-
10
- def empty_task (*names)
11
- names.each do |name|
12
- task name => '.'
13
- end
14
- end
15
-
16
-
17
- end# Rake
18
-
19
-
20
- end#Xot
data/test/helpers.rb DELETED
@@ -1,7 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- require 'bundler/setup'
5
- require 'test/unit'
6
- require 'xot'
7
- require 'xot/tester'