decko 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8df78fb22e3357c499c3710236720260e5aba276321a046e1c6a99d166258abc
4
- data.tar.gz: d5cbf64a237d86ea8694211423c2f4432bfad79995388fed507127abd3c90f6b
3
+ metadata.gz: 374e72f93b06c868af36ce94255cd88573b20284f71cc99f815eeed5f502aa31
4
+ data.tar.gz: b4a860c333ba45b4a22e695e0bf1cba3bd658f367001de86b27b972f97de1705
5
5
  SHA512:
6
- metadata.gz: f157196de583874b449572b460821b200550b42a2acb0f5b868b9ca1335bc7819fd4ff4cae3eacfbc4c2e30f5ba84a9450d40611e5d2e67435906ea68767c69e
7
- data.tar.gz: 369220b0ea762abe606e99fdef886eb01b0e338495781ee8a36a48b73d53f1bbde862762a5c6729d09064acf764c553dcbbd73beb197ce394cfe9772a90299e0
6
+ metadata.gz: 87c4be03b2f1dc4dc02129f2be0cd317b5c58a0b19594c04adbe5b03ff223225aee722db14f072e8c9c268c5d7eebe77ade2673d8eee58014833b85731c34858
7
+ data.tar.gz: 1eb886dbacb449a9f1a7c064b3849459d9130b3ff10986f05afac56ea6260b960c26d05e63d87c61b1062c71a7edbf42ac6903e98f5b4d87f0b7797425d5fdb0
@@ -6,7 +6,7 @@ Decko.application.class.configure do
6
6
 
7
7
  config.eager_load = false
8
8
 
9
- config.machine_refresh = :never
9
+ config.asset_refresh = :never
10
10
 
11
11
  # IMPORTANT: Setting config.cache_classes to false is known to
12
12
  # break Cucumber's use_transactional_fixtures method.
@@ -1,5 +1,6 @@
1
1
  if defined?(CypressOnRails)
2
2
  require "simplecov"
3
+ SimpleCov.start
3
4
 
4
5
  CypressOnRails.configure do |c|
5
6
  c.cypress_folder = File.join Decko.gem_root, "spec", "cypress"
@@ -21,7 +21,8 @@ class CardController
21
21
 
22
22
  def explicit_mark mark
23
23
  # we should find the place where we produce these bad urls
24
- mark.valid_encoding? ? mark : mark.force_encoding("ISO-8859-1").encode("UTF-8")
24
+ # mark.valid_encoding? ? mark : mark.force_encoding("ISO-8859-1").encode("UTF-8")
25
+ mark
25
26
  end
26
27
 
27
28
  def implicit_mark
@@ -1,11 +1,8 @@
1
1
  class CardController
2
- # RESTful action methods for card
2
+ # helper method for RESTful action methods for card
3
3
  module Rest
4
4
  include ActionController::HttpAuthentication::Token
5
5
 
6
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7
- # PUBLIC METHODS
8
-
9
6
  def create
10
7
  handle { card.save! }
11
8
  end
@@ -29,13 +26,10 @@ class CardController
29
26
  render body: body, status: 404
30
27
  end
31
28
 
32
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
- # PRIVATE METHODS
34
-
35
29
  private
36
30
 
37
31
  def setup
38
- Card::Machine.refresh_assets unless params[:explicit_file]
32
+ Card::Assets.refresh_assets unless params[:explicit_file]
39
33
  Card::Cache.renew
40
34
  Card::Env.reset controller: self
41
35
  end
@@ -45,6 +39,8 @@ class CardController
45
39
  end
46
40
 
47
41
  def authenticators
42
+ return {} unless request
43
+
48
44
  { token: token_from_header || params[:token] }
49
45
  end
50
46
 
@@ -4,23 +4,28 @@ require "cardio/commands"
4
4
 
5
5
  module Decko
6
6
  class Commands < Cardio::Commands
7
- extend Cardio::Commands::Accessors
7
+ def map
8
+ @map ||= super.merge(
9
+ server: { desc: "start a local web server", group: :shark, alias: :s },
10
+ cucumber: { desc: "run cucumber tests", group: :monkey, alias: :cc, via: :call}
11
+ )
12
+ end
13
+
14
+ def generator_requirement
15
+ "decko/generators"
16
+ end
8
17
 
9
- commands[:rails] << (aliases["s"] = "server")
10
- commands[:custom] << (aliases["cc"] = "cucumber")
18
+ def gem
19
+ "decko"
20
+ end
11
21
 
12
22
  def run_cucumber
13
23
  require "decko/commands/cucumber_command"
14
24
  CucumberCommand.new(args).run
15
25
  end
16
26
 
17
- def rake_prefix
18
- "decko"
19
- end
20
-
21
- def run_rails
22
- require "decko/generators" if command == "generate"
23
- super
27
+ def run_version
28
+ puts "Decko #{Cardio::Version.release}".light_cyan
24
29
  end
25
30
 
26
31
  new(ARGV).run
@@ -1,17 +1,3 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  require "cardio/generators"
4
- require "cardio/generators/class_methods"
5
-
6
- # note: despite the decko file name the base class is Cardio
7
- module Cardio
8
- module Generators
9
- # main definition of this module is in card gem
10
- module ClassMethods
11
- # generator USAGE docs will use "decko" rather than "card" when called with decko
12
- def banner_command
13
- "decko"
14
- end
15
- end
16
- end
17
- end
@@ -15,10 +15,6 @@ CardSpecLoader.prefork do
15
15
  CardSpecLoader.rspec_config
16
16
  end
17
17
 
18
- CardSpecLoader.each_run do
19
- # This code will be run each time you run your specs.
20
- end
21
-
22
18
  CardSpecLoader.helper
23
19
 
24
20
  Decko::ModsSpecHelper = :needs_a_value_so_spring_loader_is_happy
data/lib/decko/railtie.rb CHANGED
@@ -12,7 +12,12 @@ module Decko
12
12
  c.autoload_paths += Dir["#{gem_root}/lib"]
13
13
 
14
14
  c.paths.tap do |p|
15
- p["lib/tasks"].unshift "#{gem_root}/lib/decko/tasks"
15
+ # if this directory is named lib/tasks, it will get run by decko/engine,
16
+ # which currently breaks because of the aliases to card tasks, which
17
+ # aren't available there.
18
+ #
19
+ # Ideally we'd fix that and follow the naming convention.
20
+ p["lib/tasks"] << "#{gem_root}/lib/rake_tasks"
16
21
 
17
22
  p["config/environments"].unshift "#{gem_root}/config/environments"
18
23
  p["config/initializers"].unshift "#{gem_root}/config/initializers"
@@ -5,6 +5,7 @@ module Cardio
5
5
  module Deck
6
6
  # Create new Decks (Decko Applications)
7
7
  class DeckGenerator
8
+ extend ClassMethods
8
9
  # TODO: move decko-specific deck components here (eg cucumber)
9
10
  end
10
11
  end
File without changes
File without changes
@@ -8,7 +8,7 @@ unless Rake::TaskManager.methods.include?(:redefine_task)
8
8
  module Rake
9
9
  module TaskManager
10
10
  def redefine_task task_class, args, &block
11
- task_name, arg_names, deps = resolve_args(args)
11
+ task_name, _arg_names, deps = resolve_args(args)
12
12
  task_name = task_class.scope_name(@scope, task_name)
13
13
  deps = [deps] unless deps.respond_to?(:to_ary)
14
14
  deps = deps.map(&:to_s)
@@ -32,7 +32,8 @@ end
32
32
 
33
33
  namespace :db do
34
34
  namespace :fixtures do
35
- desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y"
35
+ desc "Load fixtures into the current environment's database. " \
36
+ "Load specific fixtures using FIXTURES=x,y"
36
37
  task load: :environment do
37
38
  require "active_record/fixtures"
38
39
  fixture_path = File.join(Cardio.gem_root, "db", "seed", "test", "fixtures")
File without changes
@@ -6,7 +6,9 @@ namespace :decko do
6
6
  task update: :environment do
7
7
  ENV["STAMP_MIGRATIONS"] = "true"
8
8
  ENV["GENERATE_FIXTURES"] = "true"
9
- %w[reseed update mod:install seed:clean seed:supplement seed:dump].each do |task|
9
+ %w[reseed update
10
+ mod:uninstall mod:install seed:make_asset_output_coded
11
+ seed:clean seed:supplement seed:dump].each do |task|
10
12
  Rake::Task["decko:#{task}"].invoke
11
13
  end
12
14
  end
@@ -24,7 +26,8 @@ namespace :decko do
24
26
  # change actors so we can delete unwanted user cards that made changes
25
27
  Card::Act.update_all actor_id: Card::WagnBotID
26
28
  delete_ignored_cards
27
- clean_machines
29
+ refresh_assets
30
+ Card::Assets.make_output_coded
28
31
  # clean_unwanted_cards
29
32
  Card.empty_trash
30
33
  end
@@ -41,53 +44,22 @@ namespace :decko do
41
44
  end
42
45
  end
43
46
 
44
- task clean_machines: :environment do
45
- clean_machines
47
+ task refresh_assets: :environment do
48
+ refresh_assets
46
49
  end
47
50
 
48
- def clean_machines
49
- puts "clean machines"
50
- Card::Machine.reset_all
51
- reseed_machine_output
52
- clean_inputs_and_outputs
53
- end
54
-
55
- def reseed_machine_output
56
- machine_seed_names.each do |name|
57
- puts "coding machine output for #{name}"
58
- Card[name].make_machine_output_coded
59
- end
60
- Card.search(type_id: Card::ModScriptAssetsID) do |card|
61
- card.make_machine_output_coded true
62
- end
63
- end
64
-
65
- def clean_inputs_and_outputs
66
- # FIXME: can this be associated with the machine module somehow?
67
- %w[machine_input machine_output machine_cache].each do |codename|
68
- Card.search(right: { codename: codename }).each do |card|
69
- FileUtils.rm_rf File.join("files", card.id.to_s), secure: true
70
- next if reserved_output? card.name
71
-
72
- card.delete!
73
- end
51
+ def refresh_assets
52
+ puts "refresh assets"
53
+ Card::Auth.as_bot do
54
+ Card.where(right_id: :asset_input.card_id).delete_all
74
55
  end
56
+ Card::Cache.reset_all
57
+ Cardio.config.compress_assets = true
58
+ Card::Assets.refresh_assets force: true
75
59
  end
76
60
 
77
- def reserved_output? name
78
- machine_seed_member?(name) &&
79
- (name.right_name.key == :machine_output.cardname.key)
80
- end
81
-
82
- def machine_seed_member? name
83
- machine_seed_names.member?(name.left_name.key) || name.match(/^mod:/)
84
- end
85
-
86
- def machine_seed_names
87
- @machine_seed_names ||=
88
- [%i[all style], [:script_html5shiv_printshiv]].map do |name|
89
- Card::Name[*name]
90
- end
61
+ task make_asset_output_coded: :environment do
62
+ Card::Assets.make_output_coded
91
63
  end
92
64
 
93
65
  # def clean_files
@@ -165,30 +137,3 @@ namespace :decko do
165
137
  end
166
138
  end
167
139
  end
168
-
169
- # desc "copy files from template database to standard mod and update cards"
170
- # task copy_mod_files: :environment do
171
- # # mark mod files as mod files
172
- # Card::Auth.as_bot do
173
- # each_file_card do |card|
174
- # # make card a mod file card
175
- # mod_name =
176
- # card.left&.type_id == Card::SkinID ? "bootstrap" : "standard"
177
- # card.update! storage_type: :coded,
178
- # mod: mod_name,
179
- # empty_ok: true
180
- # end
181
- # end
182
- # # end
183
-
184
- # def each_file_card
185
- # Card.search(type: %w[in Image File], ne: "").each do |card|
186
- # if card.coded? || card.codename == "new_file" ||
187
- # card.codename == "new_image"
188
- # puts "skipping #{card.name}: already in code"
189
- # else
190
- # puts "working on #{card.name}"
191
- # yield card
192
- # end
193
- # end
194
- # end
File without changes
@@ -94,16 +94,19 @@ decko_namespace = namespace :decko do
94
94
  decko_namespace["migrate"].invoke
95
95
  decko_namespace["reset_tmp"].invoke
96
96
  Card::Cache.reset_all
97
+ Rake::Task["card:mod:uninstall"].invoke
97
98
  Rake::Task["card:mod:install"].invoke
98
99
  Rake::Task["card:mod:symlink"].invoke
99
100
  end
100
101
  end
101
102
 
102
- alias_task "mod:symlink", "card:mod:symlink"
103
- alias_task "mod:install", "card:mod:install"
103
+ %i[list symlink missing uninstall install].each do |task|
104
+ alias_task "mod:#{task}", "card:mod:#{task}"
105
+ end
104
106
  alias_task :migrate, "card:migrate"
105
107
 
106
- desc "insert existing card migrations into schema_migrations_cards to avoid re-migrating"
108
+ desc "insert existing card migrations into schema_migrations_cards " \
109
+ "to avoid re-migrating"
107
110
  task :assume_card_migrations do
108
111
  require "decko/engine"
109
112
  Cardio::Schema.assume_migrated_upto_version :core_cards
@@ -111,8 +114,7 @@ decko_namespace = namespace :decko do
111
114
 
112
115
  def seed with_cache_reset: true
113
116
  ENV["SCHEMA"] ||= "#{Cardio.gem_root}/db/schema.rb"
114
- # FIXME: this should be an option, but should not happen on standard
115
- # creates!
117
+ # FIXME: this should be an option, but should not happen on standard creates!
116
118
  begin
117
119
  Rake::Task["db:drop"].invoke
118
120
  rescue StandardError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-08-06 00:00:00.000000000 Z
13
+ date: 2021-12-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -18,42 +18,42 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 6.1.3.1
21
+ version: 6.1.4
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 6.1.3.1
28
+ version: 6.1.4
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 1.103.1
35
+ version: 1.104.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 1.103.1
42
+ version: 1.104.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: card-mod-defaults
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.13.1
49
+ version: 0.14.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.13.1
56
+ version: 0.14.0
57
57
  description: a wiki approach to structured data, dynamic interaction, and web design
58
58
  email:
59
59
  - info@decko.org
@@ -111,15 +111,15 @@ files:
111
111
  - lib/decko/swagger.rb
112
112
  - lib/decko/swagger/input_yml/layout.yml
113
113
  - lib/decko/swagger/output.yml
114
- - lib/decko/tasks/alias.rb
115
- - lib/decko/tasks/cucumber.rake
116
- - lib/decko/tasks/db.rake
117
- - lib/decko/tasks/decko.rake
118
- - lib/decko/tasks/decko/benchmark.rake
119
- - lib/decko/tasks/decko/docs.rake
120
- - lib/decko/tasks/decko/seed.rake
121
- - lib/decko/tasks/decko/tmpsets.rake
122
114
  - lib/generators/deck/deck_generator.rb
115
+ - lib/rake_tasks/alias.rb
116
+ - lib/rake_tasks/cucumber.rake
117
+ - lib/rake_tasks/db.rake
118
+ - lib/rake_tasks/decko.rake
119
+ - lib/rake_tasks/decko/benchmark.rake
120
+ - lib/rake_tasks/decko/docs.rake
121
+ - lib/rake_tasks/decko/seed.rake
122
+ - lib/rake_tasks/decko/tmpsets.rake
123
123
  homepage: https://decko.org
124
124
  licenses:
125
125
  - GPL-3.0
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  requirements: []
147
- rubygems_version: 3.1.6
147
+ rubygems_version: 3.2.15
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: structured wiki web platform