decko 0.8.3 → 0.9.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/lib/decko/application.rb +1 -1
- data/lib/decko/commands/command.rb +2 -0
- data/lib/decko/commands/rake_command.rb +9 -3
- data/lib/decko/engine.rb +1 -1
- data/lib/decko/generators/decko/decko_generator.rb +1 -1
- data/lib/decko/generators/decko/templates/Gemfile +1 -1
- data/lib/decko/generators/decko/templates/config/initializers/cypress_on_rails.rb +10 -0
- data/lib/decko/response.rb +20 -2
- data/lib/decko/rest_spec_helper.rb +5 -2
- data/rails/controllers/card_controller.rb +3 -5
- data/rails/engine-routes.rb +1 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bfe665a6798cb6d119bb776e202dce24979bf5f
|
4
|
+
data.tar.gz: abb5cb4c0a969cdbbc16c8dd4db5ad56ac0525c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac95d083126c0a2aad3b617f17791b7598fa774ee86ff967c972307a09a7541f2a7729f55a5a1fc70a4845aac613e89d976014445bef24ae0be6980a998a5f7b
|
7
|
+
data.tar.gz: 8c2fa80ddceb0366c36fceebf0b445dc53c92286b6f7bf1c976f2ab078c420d9bb5218439dc16a9845221a217c7c765e0fc499ab1b216638aef38c7505f82ed3
|
data/lib/decko/application.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.expand_path("../command", __FILE__)
|
2
|
+
# require "pry"
|
2
3
|
|
3
4
|
module Decko
|
4
5
|
module Commands
|
@@ -15,13 +16,18 @@ module Decko
|
|
15
16
|
end
|
16
17
|
|
17
18
|
def run
|
18
|
-
|
19
|
+
commands.each do |cmd|
|
19
20
|
puts cmd
|
20
|
-
|
21
|
+
# exit_with_child_status cmd
|
22
|
+
|
23
|
+
result = `#{cmd}`
|
24
|
+
process = $?
|
25
|
+
puts result
|
26
|
+
exit process.exitstatus unless process.success?
|
21
27
|
end
|
22
28
|
end
|
23
29
|
|
24
|
-
def
|
30
|
+
def commands
|
25
31
|
task_cmd = "bundle exec rake #{@task}"
|
26
32
|
return [task_cmd] if !@envs || @envs.empty?
|
27
33
|
@envs.map do |env|
|
data/lib/decko/engine.rb
CHANGED
@@ -49,7 +49,7 @@ module Decko
|
|
49
49
|
end
|
50
50
|
ActiveSupport.on_load(:after_initialize) do
|
51
51
|
begin
|
52
|
-
require_dependency "card"
|
52
|
+
require_dependency "card" if Cardio.load_card?
|
53
53
|
rescue ActiveRecord::StatementInvalid => e
|
54
54
|
::Rails.logger.warn "database not available[#{::Rails.env}] #{e}"
|
55
55
|
end
|
@@ -88,7 +88,7 @@ class DeckoGenerator < Rails::Generators::AppBase
|
|
88
88
|
template "boot.rb"
|
89
89
|
template "databases/#{options[:database]}.yml", "database.yml"
|
90
90
|
template "cucumber.yml" if options["core-dev"]
|
91
|
-
template "initializers/
|
91
|
+
template "initializers/cypress_on_rails.rb" if options["core-dev"]
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
if defined?(CypressOnRails)
|
2
|
+
CypressOnRails.configure do |c|
|
3
|
+
c.cypress_folder = File.join Decko.gem_root, "spec", "cypress"
|
4
|
+
# WARNING!! CypressOnRails can execute arbitrary ruby code
|
5
|
+
# please use with extra caution if enabling on hosted servers or starting your
|
6
|
+
# local server on 0.0.0.0
|
7
|
+
c.use_middleware = Rails.env.cypress? || ENV["CYPRESS_DEV"]
|
8
|
+
c.logger = Rails.logger
|
9
|
+
end
|
10
|
+
end
|
data/lib/decko/response.rb
CHANGED
@@ -3,7 +3,7 @@ module Decko
|
|
3
3
|
module Response
|
4
4
|
private
|
5
5
|
def respond format, result, status
|
6
|
-
if status
|
6
|
+
if status.in? [302, 303]
|
7
7
|
hard_redirect result
|
8
8
|
elsif format.is_a?(Card::Format::FileFormat) && status == 200
|
9
9
|
send_file(*result)
|
@@ -16,6 +16,20 @@ module Decko
|
|
16
16
|
render body: body, status: status, content_type: content_type
|
17
17
|
end
|
18
18
|
|
19
|
+
def redirect_cud_success success
|
20
|
+
redirect_type = success.redirect || default_cud_success_redirect_type
|
21
|
+
if redirect_type.to_s == "soft"
|
22
|
+
success.target ||= self
|
23
|
+
soft_redirect success
|
24
|
+
else
|
25
|
+
hard_redirect success.to_url, 303
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def default_cud_success_redirect_type
|
30
|
+
Card::Env.ajax? ? "soft" : "hard"
|
31
|
+
end
|
32
|
+
|
19
33
|
# return a redirect response
|
20
34
|
def hard_redirect url, status=302
|
21
35
|
url = card_url url # make sure we have absolute url
|
@@ -32,6 +46,7 @@ module Decko
|
|
32
46
|
# return a standard GET response directly.
|
33
47
|
# Used in AJAX situations where PRG pattern is unwieldy
|
34
48
|
def soft_redirect success
|
49
|
+
# Card::Cache.renew
|
35
50
|
@card = success.target
|
36
51
|
require_card_for_soft_redirect!
|
37
52
|
self.params = Card::Env[:params] = soft_redirect_params
|
@@ -87,7 +102,10 @@ module Decko
|
|
87
102
|
end
|
88
103
|
|
89
104
|
def format_name_from_params
|
90
|
-
explicit_file_format?
|
105
|
+
if explicit_file_format? then :file
|
106
|
+
elsif params[:format].present? then params[:format].to_sym
|
107
|
+
else request.format.to_sym
|
108
|
+
end
|
91
109
|
end
|
92
110
|
|
93
111
|
def explicit_file_format?
|
@@ -3,8 +3,11 @@
|
|
3
3
|
module Decko
|
4
4
|
# for use in REST API specs
|
5
5
|
module RestSpecMethods
|
6
|
-
def
|
7
|
-
|
6
|
+
def with_api_key_for usermark
|
7
|
+
key_card = Card.fetch [usermark, :account, :api_key], new: {}
|
8
|
+
key_card.content = "asdkfjh1023498203jdfs"
|
9
|
+
Card::Auth.as_bot { key_card.save! }
|
10
|
+
yield key_card.content
|
8
11
|
end
|
9
12
|
end
|
10
13
|
|
@@ -61,7 +61,7 @@ class CardController < ActionController::Base
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def authenticate
|
64
|
-
Card::Auth.set_current params[:token], params[:
|
64
|
+
Card::Auth.set_current token: params[:token], api_key: params[:api_key]
|
65
65
|
end
|
66
66
|
|
67
67
|
def load_mark
|
@@ -101,11 +101,9 @@ class CardController < ActionController::Base
|
|
101
101
|
def cud_success
|
102
102
|
success = Card::Env.success.in_context card.name
|
103
103
|
if success.reload?
|
104
|
-
reload
|
105
|
-
elsif Card::Env.ajax? && !success.hard_redirect?
|
106
|
-
soft_redirect success
|
104
|
+
reload # instruct JSON to reload
|
107
105
|
else
|
108
|
-
|
106
|
+
redirect_cud_success success
|
109
107
|
end
|
110
108
|
end
|
111
109
|
|
data/rails/engine-routes.rb
CHANGED
@@ -20,6 +20,7 @@ Decko::Engine.routes.draw do
|
|
20
20
|
|
21
21
|
# Alternate GET requests
|
22
22
|
get "new/:type" => "card#read", view: "new" # common case for card without mark
|
23
|
+
get "type/:type" => "card#read"
|
23
24
|
get ":mark/view/:view(.:format)" => "card#read" # simplifies API documentation
|
24
25
|
get "card/:view(/:mark(.:format))" => "card#read", view: /new|edit/ # legacy
|
25
26
|
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
8
|
+
- Philipp Kühl
|
8
9
|
- Lewis Hoffman
|
9
10
|
- Gerry Gleason
|
10
|
-
- Philipp Kühl
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: card
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
22
|
+
version: 1.99.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.99.0
|
30
30
|
description: a wiki approach to stuctured data, dynamic interaction, and web design
|
31
31
|
email:
|
32
32
|
- info@decko.org
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/decko/generators/decko/templates/config/deck.yml
|
104
104
|
- lib/decko/generators/decko/templates/config/environment.rb
|
105
105
|
- lib/decko/generators/decko/templates/config/initializers/cypress_dev.rb
|
106
|
+
- lib/decko/generators/decko/templates/config/initializers/cypress_on_rails.rb
|
106
107
|
- lib/decko/generators/decko/templates/config/puma.rb
|
107
108
|
- lib/decko/generators/decko/templates/config/routes.erb
|
108
109
|
- lib/decko/generators/decko/templates/gitignore
|