flextures 0.9.1 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.1
1
+ 0.9.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{flextures}
8
- s.version = "0.9.1"
8
+ s.version = "0.9.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["baban"]
12
- s.date = %q{2011-11-06}
12
+ s.date = %q{2011-11-07}
13
13
  s.description = %q{load and dump fixtures}
14
14
  s.email = %q{babanba.n@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -1,44 +1,37 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'ostruct'
4
- require 'csv'
5
-
6
- require 'flextures/flextures_base_config'
7
3
  require 'flextures/flextures'
8
- require 'flextures/flextures_extension_modules'
9
- require 'flextures/flextures_factory'
10
- #require 'flextures/rspec_flextures_support'
11
4
 
12
5
  namespace :db do
13
6
  namespace :flextures do
14
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
7
+ desc "Dump data to csv format"
15
8
  task :dump => :environment do
16
9
  Flextures::ARGS.parse.each { |fmt| Flextures::Dumper::csv(fmt) }
17
10
  end
18
11
 
19
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
12
+ desc "Dump data to prefer csv format"
20
13
  task :csvdump => :environment do
21
- #Flextures::ARGS.parse.each { |fmt| Flextures::Dumper::csv(fmt) }
14
+ Flextures::ARGS.parse.each { |fmt| Flextures::Dumper::csv(fmt) }
22
15
  end
23
16
 
24
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
17
+ desc "Dump data to yaml format"
25
18
  task :ymldump => :environment do
26
- #Flextures::ARGS.parse.each { |fmt| Flextures::Dumper::yml(fmt) }
19
+ Flextures::ARGS.parse.each { |fmt| Flextures::Dumper::yml(fmt) }
27
20
  end
28
21
 
29
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
22
+ desc "load fixture data csv format"
30
23
  task :load => :environment do
31
- #Flextures::ARGS.parse.each { |fmt| Flextures::Loader::load(fmt) }
24
+ Flextures::ARGS.parse.each { |fmt| Flextures::Loader::load(fmt) }
32
25
  end
33
26
 
34
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
27
+ desc "load fixture data only csv format files"
35
28
  task :csvload => :environment do
36
- #Flextures::ARGS.parse.each { |fmt| Flextures::Loader::csv(fmt) }
29
+ Flextures::ARGS.parse.each { |fmt| Flextures::Loader::csv(fmt) }
37
30
  end
38
31
 
39
- desc "Dump data to the test/fixtures/ directory. Use TABLE=table_name"
32
+ desc "load fixture files only yaml format"
40
33
  task :ymlload => :environment do
41
- #Flextures::ARGS::parse.each { |fmt| Flextures::Loader::yml(fmt) }
34
+ Flextures::ARGS::parse.each { |fmt| Flextures::Loader::yml(fmt) }
42
35
  end
43
36
  end
44
37
  end
@@ -6,9 +6,6 @@ require 'csv'
6
6
  require 'flextures/flextures_base_config'
7
7
  require 'flextures/flextures_extension_modules'
8
8
  require 'flextures/flextures_factory'
9
- require 'flextures/rspec_flextures_support.rb' if defined?(RSpec)
10
- load "#{Rails.root.to_path}/config/flextures.config.rb" if defined?(Rails) and Rails.root
11
- load "#{Rails.root.to_path}/config/flextures.factory.rb" if defined?(Rails) and Rails.root
12
9
 
13
10
  module Flextures
14
11
  LOAD_DIR = Config.fixture_load_directory
@@ -16,8 +13,11 @@ module Flextures
16
13
 
17
14
  # 引数解析
18
15
  module ARGS
19
- # 書き出し・読み込み すべきファイルとオプションを書きだす
16
+ # 書き出し 、読み込み すべきファイルとオプションを書きだす
20
17
  def self.parse option={}
18
+ load "#{Rails.root.to_path}/config/flextures.config.rb" if defined?(Rails) and Rails.root
19
+ load "#{Rails.root.to_path}/config/flextures.factory.rb" if defined?(Rails) and Rails.root
20
+
21
21
  table_names = ""
22
22
  table_names = ENV["TABLE"].split(",") if ENV["TABLE"]
23
23
  table_names = ENV["T"].split(",") if ENV["T"]
@@ -86,10 +86,10 @@ module Flextures
86
86
 
87
87
  File.open(outfile,"w") do |f|
88
88
  klass.all.each_with_index do |row,idx|
89
- f<< "#{table_name}_#{idx}n" +
89
+ f<< "#{table_name}_#{idx}:\n" +
90
90
  attributes.map { |column|
91
91
  v = trans row.send(column)
92
- " #{column}: #{v}¥n"
92
+ " #{column}: #{v}\n"
93
93
  }.join
94
94
  end
95
95
  end
@@ -113,6 +113,7 @@ module Flextures
113
113
  time:->{ DateTime.now },
114
114
  timestamp:->{ DateTime.now },
115
115
  }
116
+
116
117
  # 型の変換を行う
117
118
  TRANSLATER = {
118
119
  binary:->(d){ d.to_i },
@@ -159,7 +160,6 @@ module Flextures
159
160
  klass = PARENT::create_model table_name
160
161
  attributes = klass.columns.map &:name
161
162
  filter = create_filter klass.columns, Factory[table_name]
162
- #filter2 = create_filter2 klass.columns, Factory[table_name]
163
163
  klass.delete_all
164
164
  CSV.open( inpfile ) do |csv|
165
165
  keys = csv.shift # keyの設定
@@ -189,8 +189,8 @@ module Flextures
189
189
 
190
190
  # 欠けたカラムを検知してメッセージを出しておく
191
191
  def self.warning format, attributes, keys
192
- (attributes-keys).each { |name| print "Warning: #{format} colum is missing! [#{name}]¥n" }
193
- (keys-attributes).each { |name| print "Warning: #{format} colum is left over! [#{name}]¥n" }
192
+ (attributes-keys).each { |name| print "Warning: #{format} colum is missing! [#{name}]\n" }
193
+ (keys-attributes).each { |name| print "Warning: #{format} colum is left over! [#{name}]\n" }
194
194
  end
195
195
 
196
196
  # フィクスチャから取り出した値を、加工して欲しいデータにするフィルタを作成して返す
@@ -200,7 +200,7 @@ module Flextures
200
200
  columns.each { |col| column_hash[col.name] = col }
201
201
  # 自動補完が必要なはずのカラム
202
202
  lack_columns = columns.select { |c| !c.null and !c.default }.map &:name
203
- # ハッシュを受け取って、必要な値に加工してからハッシュで返す
203
+ # ハッシュを受け取って、必要な値に加工してからハッシュで返すラムダを返す
204
204
  return->(h){
205
205
  h.select! { |k,v| column_hash[k] } # テーブルに存在しないキーが定義されているときは削除
206
206
  # 値がnilでないなら型をDBで適切なものに変更
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require 'ostruct'
4
- require 'csv'
5
4
 
6
5
  module Flextures
7
6
  # Plug-in 内部拡張
@@ -9,11 +8,11 @@ module Flextures
9
8
  # hashに変化させる
10
9
  def to_hash
11
10
  h={}
12
- (self.methods - OpenStruct.new.methods)
13
- .select{ |name| name.match(w+=/) }
11
+ (self.methods - ::OpenStruct.new.methods)
12
+ .select{ |name| name.to_s.match(/\w+=/) }
14
13
  .map{ |name| name.to_s.gsub(/=/,'').to_sym }
15
14
  .each{ |k| h[k]=self.send(k) }
16
- h
15
+ h
17
16
  end
18
17
  end
19
18
 
@@ -1,13 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'ostruct'
4
- require 'csv'
5
-
6
- require 'flextures/flextures_base_config'
7
- require 'flextures/flextures_extension_modules'
8
- require 'flextures/flextures'
9
- require 'flextures/flextures_factory'
10
-
11
3
  module Flextures
12
4
  # ロードするデータを必要に応じて加工する
13
5
  class Factory
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flextures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-06 00:00:00.000000000 +09:00
12
+ date: 2011-11-07 00:00:00.000000000 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: shoulda
17
- requirement: &87123700 !ruby/object:Gem::Requirement
17
+ requirement: &80353760 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *87123700
25
+ version_requirements: *80353760
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &87123460 !ruby/object:Gem::Requirement
28
+ requirement: &80353520 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *87123460
36
+ version_requirements: *80353520
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: jeweler
39
- requirement: &87123220 !ruby/object:Gem::Requirement
39
+ requirement: &80353280 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.4
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *87123220
47
+ version_requirements: *80353280
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rcov
50
- requirement: &87122980 !ruby/object:Gem::Requirement
50
+ requirement: &80353040 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *87122980
58
+ version_requirements: *80353040
59
59
  description: load and dump fixtures
60
60
  email: babanba.n@gmail.com
61
61
  executables: []
@@ -100,7 +100,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  segments:
102
102
  - 0
103
- hash: -599778417
103
+ hash: -410806225
104
104
  required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements: