phil_columns 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|