wagn 1.16.15 → 1.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/signup.feature +2 -1
- data/features/step_definitions/wagn_steps.rb +4 -0
- data/lib/wagn/commands.rb +40 -95
- data/lib/wagn/generators/wagn/templates/Gemfile +3 -3
- data/lib/wagn/generators/wagn/templates/config/application.rb +0 -8
- data/lib/wagn/parser.rb +93 -0
- data/lib/wagn/tasks/wagn.rake +10 -10
- data/rails/controllers/card_controller.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fe31485e1ace44582b1be0422e6669462f1dcb4
|
4
|
+
data.tar.gz: 16a2fb47d3f565766c96d6a6a053391801bddc64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f427c740a3e6b5d0535f2f6f0b356779061213f9d4e5bcb4967195c8c6c55b7350ae211f71a8b249038a453eca6cafeba1bb1e609224fe8b32602c97971b6926
|
7
|
+
data.tar.gz: 551e5a86477b36aab96f9f3b2a6edecb4025ca7d5797163798255f65d66d11c665291aeab437b5d55e88334c82723dba2a1012c74976ffbee4e890a8b81d21b1
|
data/features/signup.feature
CHANGED
@@ -23,6 +23,7 @@ Feature: Signing up
|
|
23
23
|
When I open the email
|
24
24
|
And I click the first link in the email
|
25
25
|
Then I should see "Wanna B"
|
26
|
+
And "Wanna B" should be signed in
|
26
27
|
|
27
28
|
When I go to the home page
|
28
29
|
And I follow "Sign out"
|
@@ -33,7 +34,7 @@ Feature: Signing up
|
|
33
34
|
And I enter "wanna_pass" into "*password"
|
34
35
|
And I press "Sign in"
|
35
36
|
Then I should see "Wanna B"
|
36
|
-
|
37
|
+
And "Wanna B" should be signed in
|
37
38
|
Scenario: Signing up with approval
|
38
39
|
#When I go to card "AccountRequest"
|
39
40
|
#And In the main card content I click "Wanna B"
|
@@ -341,6 +341,10 @@ Then /^"([^"]*)" should be selected for "([^"]*)"$/ do |value, field|
|
|
341
341
|
expect(selected.inner_html).to match /#{value}/
|
342
342
|
end
|
343
343
|
|
344
|
+
Then /^"([^"]*)" should be signed in$/ do |user| # "
|
345
|
+
has_css?('#my-card-link', text: user)
|
346
|
+
end
|
347
|
+
|
344
348
|
When /^I press enter to search$/ do
|
345
349
|
find('#_keyword').native.send_keys(:return)
|
346
350
|
end
|
data/lib/wagn/commands.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
require 'optparse'
|
2
|
-
|
2
|
+
|
3
|
+
# add method in? to Object class
|
4
|
+
require 'active_support/core_ext/object/inclusion'
|
5
|
+
require 'wagn/parser'
|
3
6
|
|
4
7
|
def load_rake_tasks
|
5
8
|
require './config/environment'
|
@@ -7,7 +10,8 @@ def load_rake_tasks
|
|
7
10
|
Wagn::Application.load_tasks
|
8
11
|
end
|
9
12
|
|
10
|
-
RAILS_COMMANDS = %w( generate destroy plugin benchmarker profiler console
|
13
|
+
RAILS_COMMANDS = %w( generate destroy plugin benchmarker profiler console
|
14
|
+
server dbconsole application runner )
|
11
15
|
ALIAS = {
|
12
16
|
'rs' => 'rspec',
|
13
17
|
'cc' => 'cucumber',
|
@@ -23,65 +27,51 @@ ALIAS = {
|
|
23
27
|
ARGV << '--help' if ARGV.empty?
|
24
28
|
|
25
29
|
def supported_rails_command? arg
|
26
|
-
arg.in?
|
30
|
+
arg.in?(RAILS_COMMANDS) || ALIAS[arg].in?(RAILS_COMMANDS)
|
27
31
|
end
|
28
32
|
|
29
33
|
def find_spec_file filename, base_dir
|
30
34
|
file, line = filename.split(':')
|
31
|
-
if file.include?
|
35
|
+
if file.include?('_spec.rb') && File.exist?(file)
|
32
36
|
filename
|
33
37
|
else
|
34
|
-
file = File.basename(file,
|
35
|
-
Dir.glob("#{base_dir}/**/#{file}_spec.rb").flatten.map
|
38
|
+
file = File.basename(file, '.rb').sub(/_spec$/, '')
|
39
|
+
Dir.glob("#{base_dir}/**/#{file}_spec.rb").flatten.map do |spec_file|
|
40
|
+
line ? "#{spec_file}:#{line}" : file
|
41
|
+
end.join(' ')
|
36
42
|
end
|
37
43
|
end
|
38
44
|
|
39
|
-
|
45
|
+
WAGN_DB_TASKS = %w[seed reseed load update]
|
40
46
|
|
41
47
|
if supported_rails_command? ARGV.first
|
42
48
|
if ARGV.delete('--rescue')
|
43
|
-
ENV[
|
49
|
+
ENV['PRY_RESCUE_RAILS'] = '1'
|
44
50
|
end
|
45
51
|
command = ARGV.first
|
46
52
|
command = ALIAS[command] || command
|
47
|
-
|
53
|
+
|
54
|
+
# without this, the card generators don't list with: wagn g --help
|
55
|
+
require 'generators/card' if command == 'generate'
|
48
56
|
require 'rails/commands'
|
49
57
|
else
|
50
58
|
command = ARGV.shift
|
51
59
|
command = ALIAS[command] || command
|
52
60
|
|
53
61
|
case command
|
54
|
-
when *
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
envs = ['production']
|
60
|
-
end
|
61
|
-
parser.on('--test','-t', "#{command} test database") do
|
62
|
-
envs = ['test']
|
63
|
-
end
|
64
|
-
parser.on('--development', '-d', "#{command} development database") do
|
65
|
-
envs = ['development']
|
66
|
-
end
|
67
|
-
parser.on('--all', '-a', "#{command} production, test, and development database") do
|
68
|
-
envs = %w( production development test)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
parser.parse!(ARGV)
|
72
|
-
task_cmd="bundle exec rake wagn:#{command}"
|
73
|
-
if envs.empty?
|
62
|
+
when *WAGN_DB_TASKS
|
63
|
+
opts = {}
|
64
|
+
Wagn::Parser.db_task(command, opts).parse!(ARGV)
|
65
|
+
task_cmd = "bundle exec rake wagn:#{command}"
|
66
|
+
if !opts[:envs] || opts[:envs].empty?
|
74
67
|
puts task_cmd
|
75
68
|
puts `#{task_cmd}`
|
76
69
|
else
|
77
|
-
envs.each do |env|
|
70
|
+
opts[:envs].each do |env|
|
78
71
|
puts "env RAILS_ENV=#{env} #{task_cmd}"
|
79
72
|
puts `env RAILS_ENV=#{env} #{task_cmd}`
|
80
73
|
end
|
81
74
|
end
|
82
|
-
# when 'update'
|
83
|
-
# load_rake_tasks
|
84
|
-
# Rake::Task['wagn:update'].invoke
|
85
75
|
when 'cucumber'
|
86
76
|
require 'wagn'
|
87
77
|
require './config/environment'
|
@@ -89,76 +79,31 @@ else
|
|
89
79
|
Dir.glob "#{p}/features"
|
90
80
|
end.flatten
|
91
81
|
require_args = "-r #{Wagn.gem_root}/features "
|
92
|
-
require_args += feature_paths.map { |path| "-r #{path}"}.join(' ')
|
82
|
+
require_args += feature_paths.map { |path| "-r #{path}" }.join(' ')
|
93
83
|
feature_args = ARGV.empty? ? feature_paths.join(' ') : ARGV.join(' ')
|
94
|
-
unless system
|
84
|
+
unless system 'RAILS_ROOT=. bundle exec cucumber ' \
|
85
|
+
"#{require_args} #{feature_args} 2>&1"
|
95
86
|
exit $?.exitstatus
|
96
87
|
end
|
97
88
|
when 'jasmine'
|
98
|
-
unless system
|
89
|
+
unless system 'RAILS_ENV=test bundle exec rake spec:javascript 2>&1'
|
99
90
|
exit $?.exitstatus
|
100
91
|
end
|
101
92
|
when 'rspec'
|
102
|
-
opts = {}
|
103
93
|
require 'rspec/core'
|
104
94
|
require 'wagn/application'
|
105
|
-
parser = RSpec::Core::Parser.new.parser(opts)
|
106
|
-
parser.banner = "Usage: wagn rspec [WAGN ARGS] -- [RSPEC ARGS]\n\nRSPEC ARGS"
|
107
|
-
parser.separator <<-WAGN
|
108
|
-
|
109
|
-
WAGN ARGS
|
110
|
-
|
111
|
-
You don't have to give a full path for FILENAME, the basename is enough
|
112
|
-
If FILENAME does not include '_spec' rspec searches for the corresponding spec file.
|
113
|
-
The line number always referes to example in the (corresponding) spec file.
|
114
|
-
|
115
|
-
WAGN
|
116
|
-
|
117
|
-
parser.on('-d', '--spec FILENAME(:LINE)', 'Run spec for a Wagn deck file') do |file|
|
118
|
-
opts[:files] = find_spec_file( file, "#{Wagn.root}/mod")
|
119
|
-
end
|
120
|
-
parser.on('-c', '--core-spec FILENAME(:LINE)', 'Run spec for a Wagn core file') do |file|
|
121
|
-
opts[:files] = find_spec_file( file, Cardio.gem_root)
|
122
|
-
end
|
123
|
-
parser.on('-m', '--mod MODNAME', 'Run all specs for a mod or matching a mod') do |file|
|
124
|
-
if File.exists? mod_path = "mod/#{file}"
|
125
|
-
opts[:files] = "#{Cardio.gem_root}/mod/#{file}"
|
126
|
-
elsif File.exists? mod_path = "#{Cardio.gem_root}/mod/#{file}"
|
127
|
-
opts[:files] = "#{Cardio.gem_root}/mod/#{file}"
|
128
|
-
elsif (opts[:files] = find_spec_file( file, "mod")).present?
|
129
|
-
else
|
130
|
-
opts[:files] = find_spec_file( file, "#{Cardio.gem_root}/mod")
|
131
|
-
end
|
132
|
-
end
|
133
|
-
parser.on('-s', '--[no-]simplecov', 'Run with simplecov') do |s|
|
134
|
-
opts[:simplecov] = s ? '' : 'COVERAGE=false'
|
135
|
-
end
|
136
|
-
parser.on('--rescue', 'Run with pry-rescue') do
|
137
|
-
if opts[:executer] == 'spring'
|
138
|
-
puts "Disabled pry-rescue. Not compatible with spring."
|
139
|
-
else
|
140
|
-
opts[:rescue] = 'rescue '
|
141
|
-
end
|
142
|
-
end
|
143
|
-
parser.on('--[no-]spring', 'Run with spring') do |spring|
|
144
|
-
if spring
|
145
|
-
opts[:executer] = 'spring'
|
146
|
-
if opts[:rescue]
|
147
|
-
opts[:rescue] = ''
|
148
|
-
puts "Disabled pry-rescue. Not compatible with spring."
|
149
|
-
end
|
150
|
-
else
|
151
|
-
opts[:executer] = 'bundle exec'
|
152
|
-
end
|
153
|
-
end
|
154
|
-
parser.separator "\n"
|
155
95
|
|
156
96
|
before_split = true
|
157
|
-
wagn_args, rspec_args =
|
97
|
+
wagn_args, rspec_args =
|
98
|
+
ARGV.partition do |a|
|
99
|
+
before_split = (a == '--' ? false : before_split)
|
100
|
+
end
|
158
101
|
rspec_args.shift
|
159
|
-
|
160
|
-
|
161
|
-
rspec_command =
|
102
|
+
opts = {}
|
103
|
+
Wagn::Parser.rspec(opts).parse!(wagn_args)
|
104
|
+
rspec_command =
|
105
|
+
"RAILS_ROOT=. #{opts[:simplecov]} #{opts[:executer]} " \
|
106
|
+
" #{opts[:rescue]} rspec #{rspec_args.join(' ')} #{opts[:files]} 2>&1"
|
162
107
|
unless system rspec_command
|
163
108
|
exit $?.exitstatus
|
164
109
|
end
|
@@ -168,13 +113,14 @@ WAGN
|
|
168
113
|
if ARGV.first.in?(['-h', '--help'])
|
169
114
|
require 'wagn/commands/application'
|
170
115
|
else
|
171
|
-
puts "Can't initialize a new deck within the directory of another,
|
116
|
+
puts "Can't initialize a new deck within the directory of another, " \
|
117
|
+
"please change to a non-deck directory first.\n"
|
172
118
|
puts "Type 'wagn' for help."
|
173
119
|
exit(1)
|
174
120
|
end
|
175
121
|
|
176
122
|
else
|
177
|
-
puts
|
123
|
+
puts 'Error: Command not recognized' unless command.in?(['-h', '--help'])
|
178
124
|
puts <<-EOT
|
179
125
|
Usage: wagn COMMAND [ARGS]
|
180
126
|
|
@@ -192,6 +138,7 @@ WAGN
|
|
192
138
|
cucumber Run cucumber features (short-cut alias: "cc")
|
193
139
|
rspec Run rspec tests (short-cut alias: "rs")
|
194
140
|
update Run card migrations
|
141
|
+
load Load bootstrap data into database
|
195
142
|
|
196
143
|
In addition to those, there are the standard rails commands:
|
197
144
|
generate Generate new code (short-cut alias: "g")
|
@@ -207,5 +154,3 @@ WAGN
|
|
207
154
|
exit(1)
|
208
155
|
end
|
209
156
|
end
|
210
|
-
|
211
|
-
|
@@ -60,9 +60,9 @@ group :development do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
group :test do
|
63
|
-
gem 'rspec'
|
64
|
-
gem 'rspec-rails'
|
65
|
-
gem 'rspec-html-matchers'
|
63
|
+
gem 'rspec', '~> 3.4'
|
64
|
+
gem 'rspec-rails' # behavior-driven-development suite
|
65
|
+
gem 'rspec-html-matchers'
|
66
66
|
gem 'spork', '>=0.9'
|
67
67
|
gem 'rr'#, '=1.0.0'
|
68
68
|
gem 'simplecov', '~> 0.7.1', :require => false #test coverage
|
@@ -8,14 +8,6 @@ module <%= app_const_base %>
|
|
8
8
|
|
9
9
|
# Wagn inherits Rails configuration options. See http://guides.rubyonrails.org/configuring.html
|
10
10
|
|
11
|
-
config.recaptcha_public_key = '6LdhRssSAAAAAFfLt1Wkw43hoaA8RTIgso9-tvtc'
|
12
|
-
config.recaptcha_private_key = '6LdhRssSAAAAAGwzl069pJQBdmzCZigm1nV-dmqK'
|
13
|
-
# config.recaptcha_proxy = ...
|
14
|
-
#
|
15
|
-
# IMPORTANT: please be sure to register for your own recaptcha keys before deploying a live site
|
16
|
-
# It's quick and easy. Just follow instructions at https://www.google.com/recaptcha/admin/create
|
17
|
-
|
18
|
-
|
19
11
|
# Email configuration
|
20
12
|
|
21
13
|
config.action_mailer.perform_deliveries = false
|
data/lib/wagn/parser.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module Wagn
|
4
|
+
class Parser
|
5
|
+
class << self
|
6
|
+
def db_task command, opts
|
7
|
+
OptionParser.new do |parser|
|
8
|
+
parser.banner = "Usage: wagn #{command} [options]\n\n" \
|
9
|
+
"Run wagn:#{command} task on the production "\
|
10
|
+
" database specified in config/database.yml\n\n"
|
11
|
+
parser.on('--production', '-p',
|
12
|
+
"#{command} production database (default)") do
|
13
|
+
opts[:envs] = ['production']
|
14
|
+
end
|
15
|
+
parser.on('--test', '-t',
|
16
|
+
"#{command} test database") do
|
17
|
+
opts[:envs] = ['test']
|
18
|
+
end
|
19
|
+
parser.on('--development', '-d',
|
20
|
+
"#{command} development database") do
|
21
|
+
opts[:envs] = ['development']
|
22
|
+
end
|
23
|
+
parser.on('--all', '-a',
|
24
|
+
"#{command} production, test, and development database") do
|
25
|
+
opts[:envs] = %w( production development test)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def rspec opts
|
31
|
+
OptionParser.new do |parser|
|
32
|
+
parser.banner = "Usage: wagn rspec [WAGN ARGS] -- [RSPEC ARGS]\n\n" \
|
33
|
+
'RSPEC ARGS'
|
34
|
+
parser.separator <<-WAGN
|
35
|
+
|
36
|
+
WAGN ARGS
|
37
|
+
|
38
|
+
You don't have to give a full path for FILENAME, the basename is enough
|
39
|
+
If FILENAME does not include '_spec' rspec searches for the
|
40
|
+
corresponding spec file.
|
41
|
+
The line number always referes to example in the (corresponding) spec
|
42
|
+
file.
|
43
|
+
|
44
|
+
WAGN
|
45
|
+
|
46
|
+
parser.on('-d', '--spec FILENAME(:LINE)',
|
47
|
+
'Run spec for a Wagn deck file') do |file|
|
48
|
+
opts[:files] = find_spec_file(file, "#{Wagn.root}/mod")
|
49
|
+
end
|
50
|
+
parser.on('-c', '--core-spec FILENAME(:LINE)',
|
51
|
+
'Run spec for a Wagn core file') do |file|
|
52
|
+
opts[:files] = find_spec_file(file, Cardio.gem_root)
|
53
|
+
end
|
54
|
+
parser.on('-m', '--mod MODNAME',
|
55
|
+
'Run all specs for a mod or matching a mod') do |file|
|
56
|
+
opts[:files] =
|
57
|
+
if File.exists?("mod/#{file}")
|
58
|
+
"#{Cardio.gem_root}/mod/#{file}"
|
59
|
+
elsif File.exists?("#{Cardio.gem_root}/mod/#{file}")
|
60
|
+
"#{Cardio.gem_root}/mod/#{file}"
|
61
|
+
elsif (files = find_spec_file(file, 'mod')) && files.present?
|
62
|
+
files
|
63
|
+
else
|
64
|
+
find_spec_file(file, "#{Cardio.gem_root}/mod")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
parser.on('-s', '--[no-]simplecov', 'Run with simplecov') do |s|
|
68
|
+
opts[:simplecov] = s ? '' : 'COVERAGE=false'
|
69
|
+
end
|
70
|
+
parser.on('--rescue', 'Run with pry-rescue') do
|
71
|
+
if opts[:executer] == 'spring'
|
72
|
+
puts 'Disabled pry-rescue. Not compatible with spring.'
|
73
|
+
else
|
74
|
+
opts[:rescue] = 'rescue '
|
75
|
+
end
|
76
|
+
end
|
77
|
+
parser.on('--[no-]spring', 'Run with spring') do |spring|
|
78
|
+
if spring
|
79
|
+
opts[:executer] = 'spring'
|
80
|
+
if opts[:rescue]
|
81
|
+
opts[:rescue] = ''
|
82
|
+
puts 'Disabled pry-rescue. Not compatible with spring.'
|
83
|
+
end
|
84
|
+
else
|
85
|
+
opts[:executer] = 'bundle exec'
|
86
|
+
end
|
87
|
+
end
|
88
|
+
parser.separator "\n"
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/lib/wagn/tasks/wagn.rake
CHANGED
@@ -7,7 +7,7 @@ WAGN_SEED_PATH = File.join(
|
|
7
7
|
)
|
8
8
|
|
9
9
|
def prepare_migration
|
10
|
-
Card::Cache.
|
10
|
+
Card::Cache.reset_all
|
11
11
|
Card.config.action_mailer.perform_deliveries = false
|
12
12
|
Card.reset_column_information
|
13
13
|
# this is needed in production mode to insure core db
|
@@ -93,7 +93,7 @@ namespace :wagn do
|
|
93
93
|
|
94
94
|
desc 'reset cache'
|
95
95
|
task reset_cache: :environment do
|
96
|
-
Card::Cache.
|
96
|
+
Card::Cache.reset_all
|
97
97
|
end
|
98
98
|
|
99
99
|
desc 'set symlink for assets'
|
@@ -119,7 +119,7 @@ namespace :wagn do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
puts 'migrating core cards'
|
122
|
-
Card::Cache.
|
122
|
+
Card::Cache.reset_all
|
123
123
|
Rake::Task['wagn:migrate:core_cards'].execute #not invoke because we don't want to reload environment
|
124
124
|
if stamp
|
125
125
|
Rake::Task['wagn:migrate:stamp'].reenable
|
@@ -134,7 +134,7 @@ namespace :wagn do
|
|
134
134
|
Rake::Task['wagn:migrate:stamp'].invoke :deck_cards
|
135
135
|
end
|
136
136
|
|
137
|
-
Card::Cache.
|
137
|
+
Card::Cache.reset_all
|
138
138
|
end
|
139
139
|
|
140
140
|
desc 'insert existing card migrations into schema_migrations_cards to avoid re-migrating'
|
@@ -165,7 +165,7 @@ namespace :wagn do
|
|
165
165
|
task core_cards: :environment do
|
166
166
|
require 'card/core_migration'
|
167
167
|
|
168
|
-
Card::Cache.
|
168
|
+
Card::Cache.reset_all
|
169
169
|
ENV['SCHEMA'] ||= "#{Cardio.gem_root}/db/schema.rb"
|
170
170
|
prepare_migration
|
171
171
|
paths = Cardio.migration_paths(:core_cards)
|
@@ -183,7 +183,7 @@ namespace :wagn do
|
|
183
183
|
task deck_cards: :environment do
|
184
184
|
require 'card/migration'
|
185
185
|
|
186
|
-
Card::Cache.
|
186
|
+
Card::Cache.reset_all
|
187
187
|
ENV['SCHEMA'] ||= "#{Cardio.gem_root}/db/schema.rb"
|
188
188
|
prepare_migration
|
189
189
|
paths = ActiveRecord::Migrator.migrations_paths = Cardio.migration_paths(:deck_cards)
|
@@ -247,17 +247,17 @@ namespace :wagn do
|
|
247
247
|
namespace :bootstrap do
|
248
248
|
desc 'rid template of unneeded cards, acts, actions, changes, and references'
|
249
249
|
task clean: :environment do
|
250
|
-
Card::Cache.
|
250
|
+
Card::Cache.reset_all
|
251
251
|
clear_history
|
252
252
|
delete_unwanted_cards
|
253
253
|
Card.empty_trash
|
254
254
|
correct_time_and_user_stamps
|
255
|
-
Card::Cache.
|
255
|
+
Card::Cache.reset_all
|
256
256
|
end
|
257
257
|
|
258
258
|
desc 'dump db to bootstrap fixtures'
|
259
259
|
task dump: :environment do
|
260
|
-
Card::Cache.
|
260
|
+
Card::Cache.reset_all
|
261
261
|
|
262
262
|
# FIXME temporarily taking this out!!
|
263
263
|
Rake::Task['wagn:bootstrap:copy_mod_files'].invoke
|
@@ -354,7 +354,7 @@ def delete_unwanted_cards
|
|
354
354
|
card.delete!
|
355
355
|
end
|
356
356
|
end
|
357
|
-
Card::Cache.
|
357
|
+
Card::Cache.reset_all
|
358
358
|
# FIXME: can this be associated with the machine module somehow?
|
359
359
|
%w{ machine_input machine_output }.each do |codename|
|
360
360
|
Card.search(:right=>{:codename=>codename }).each do |card|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wagn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-01-
|
14
|
+
date: 2016-01-22 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -33,14 +33,14 @@ dependencies:
|
|
33
33
|
requirements:
|
34
34
|
- - '='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 1.
|
36
|
+
version: 1.17.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - '='
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.
|
43
|
+
version: 1.17.0
|
44
44
|
description: a wiki approach to stuctured data, dynamic interaction, and web design
|
45
45
|
email:
|
46
46
|
- info@wagn.org
|
@@ -155,6 +155,7 @@ files:
|
|
155
155
|
- lib/wagn/generators/wagn/templates/spec/spec_helper.rb
|
156
156
|
- lib/wagn/generators/wagn/wagn_generator.rb
|
157
157
|
- lib/wagn/mods_spec_helper.rb
|
158
|
+
- lib/wagn/parser.rb
|
158
159
|
- lib/wagn/script_wagn_loader.rb
|
159
160
|
- lib/wagn/simplecov_helper.rb
|
160
161
|
- lib/wagn/tasks/.gitkeep
|