phil_columns 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +61 -1
- data/lib/phil_columns/cli.rb +9 -0
- data/lib/phil_columns/command.rb +1 -0
- data/lib/phil_columns/command/console.rb +29 -0
- data/lib/phil_columns/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d789fc3c03e3480119e3beff9827ade6e9a1400f
|
4
|
+
data.tar.gz: 247007881ff42be0a715b6d880beefda0ced5baa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6979d9a76ee6a732e66ccb95e2c4fa13d427908b6eb65f23d826aa28e9bea165e07c088b7f6898ec8578f8152260930ba5755bab6264e93faf3d33eb50127683
|
7
|
+
data.tar.gz: c965c6209b0dbed143f66e50915ba72b6424f3eb43b4218f8e50b2912a40e185f8efe47e79bae46627829ca2a75ce9f615df8db4678181e9230ecfa5af03cc6d
|
data/README.md
CHANGED
@@ -244,16 +244,19 @@ To specify a seed for production, simply add production to the specified environ
|
|
244
244
|
|
245
245
|
### The Configuration File
|
246
246
|
|
247
|
-
The configuration file is in YAML format.
|
247
|
+
The configuration file is in YAML format. The following configuraiton file is the default configuration for a Rails project.
|
248
248
|
|
249
249
|
---
|
250
250
|
default_tags:
|
251
251
|
- default
|
252
252
|
env_files:
|
253
253
|
- config/environment
|
254
|
+
- config/phil_columns
|
254
255
|
schema_load_strategy: load
|
255
256
|
schema_unload_strategy: drop
|
256
257
|
seeds_path: db/seeds
|
258
|
+
skip_tables_on_purge:
|
259
|
+
- ncite_fake_vetting_responses
|
257
260
|
|
258
261
|
#### Configuration Attributes
|
259
262
|
|
@@ -279,8 +282,65 @@ the environment file(s) from a framework, such as Rails.
|
|
279
282
|
|
280
283
|
[String] The relative path to the seeds directory.
|
281
284
|
|
285
|
+
##### skip_tables_on_purge
|
286
|
+
|
287
|
+
[String] A list of tables to skip when purging.
|
288
|
+
|
289
|
+
|
290
|
+
### DRYing Seeds Up
|
291
|
+
|
292
|
+
#### Rails Project
|
293
|
+
|
294
|
+
As your seed set grows you will certainly have opportunities to DRY up your seeds with utility methods, etc. The best way to accomplish this is to add
|
295
|
+
code to the config/phil_columns.rb (Rails specific). One possibility is to define modules to use as mix-ins to the seeds.
|
296
|
+
|
297
|
+
# Add any Phil Columns only configuration in this file
|
298
|
+
|
299
|
+
Rails.logger.level = Logger::WARN #minimize log output during seeding
|
300
|
+
|
301
|
+
module ThingHelper
|
302
|
+
def create_thing( name )
|
303
|
+
Thing.create! name: name
|
304
|
+
end
|
305
|
+
end
|
306
|
+
|
307
|
+
To use the code in a seed simply include the module.
|
308
|
+
|
309
|
+
class AddThings < PhilColumns::Seed
|
310
|
+
include ThingHelper
|
311
|
+
|
312
|
+
def up
|
313
|
+
create_thing( 'toy' )
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
#### Plain-Old Ruby Project
|
318
|
+
|
319
|
+
The same concepts applied above to a Rails project apply to a Ruby project. The only difference is specifying an environment file in the configuration
|
320
|
+
file: .phil\_columns. The env_files attribute takes an array of files to load. Simply provide a relative path to the file from the project root and place
|
321
|
+
the common code into one or more files.
|
322
|
+
|
323
|
+
---
|
324
|
+
...
|
325
|
+
env_files:
|
326
|
+
- some/environment/file
|
327
|
+
- another/environment/file
|
328
|
+
...
|
329
|
+
|
330
|
+
|
331
|
+
### The Console
|
332
|
+
|
333
|
+
Phil columns has a built in console that loads up the seeding environment and any helpers defined in the Seeds module.
|
334
|
+
|
335
|
+
$ phil-columns console
|
336
|
+
|
282
337
|
|
283
338
|
## Adapters and Extensions
|
284
339
|
|
285
340
|
* [phil_columns-activerecord](https://github.com/midas/phil_columns-activerecord)
|
286
341
|
* [phil_columns-factory_girl](https://github.com/midas/phil_columns-factory_girl)
|
342
|
+
|
343
|
+
|
344
|
+
## Contributors
|
345
|
+
|
346
|
+
* Nils Jonsson [njonsson](https://github.com/njonsson)
|
data/lib/phil_columns/cli.rb
CHANGED
@@ -53,6 +53,15 @@ module PhilColumns
|
|
53
53
|
version is not included in the set.)
|
54
54
|
end
|
55
55
|
|
56
|
+
desc "console", "Load a console with seeding assets available"
|
57
|
+
long_desc <<-LONGDESC
|
58
|
+
#{env_option_description}
|
59
|
+
LONGDESC
|
60
|
+
env_option
|
61
|
+
def console
|
62
|
+
execute PhilColumns::Command::Console
|
63
|
+
end
|
64
|
+
|
56
65
|
desc "purge", "Purge all data from tables"
|
57
66
|
long_desc <<-LONGDESC
|
58
67
|
Purges all tables excluding any project metadata tables, ie. schema_migrations when using ActiveRecord.
|
data/lib/phil_columns/command.rb
CHANGED
@@ -2,6 +2,7 @@ module PhilColumns
|
|
2
2
|
module Command
|
3
3
|
|
4
4
|
autoload :Base, 'phil_columns/command/base'
|
5
|
+
autoload :Console, 'phil_columns/command/console'
|
5
6
|
autoload :Generate, 'phil_columns/command/generate'
|
6
7
|
autoload :Generator, 'phil_columns/command/generator'
|
7
8
|
autoload :Install, 'phil_columns/command/install'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module PhilColumns
|
2
|
+
module Command
|
3
|
+
class Console < Base
|
4
|
+
|
5
|
+
def execute
|
6
|
+
load_environment
|
7
|
+
load_seed_helpers
|
8
|
+
start_console
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def start_console
|
14
|
+
require 'irb'
|
15
|
+
IRB.start
|
16
|
+
end
|
17
|
+
|
18
|
+
def load_seed_helpers
|
19
|
+
if defined?( Seeds )
|
20
|
+
Seeds::constants.each do |const_name|
|
21
|
+
konstant = Seeds::const_get(const_name)
|
22
|
+
Object.send( :include, konstant )
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/phil_columns/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phil_columns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JC. ason Harrelson (midas)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- lib/phil_columns/cli/reset.rb
|
152
152
|
- lib/phil_columns/command.rb
|
153
153
|
- lib/phil_columns/command/base.rb
|
154
|
+
- lib/phil_columns/command/console.rb
|
154
155
|
- lib/phil_columns/command/generate.rb
|
155
156
|
- lib/phil_columns/command/generate/seed.rb
|
156
157
|
- lib/phil_columns/command/generator.rb
|