trackman 0.3.5 → 0.4.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.
- data/Gemfile +2 -0
- data/lib/tasks.rb +1 -0
- data/lib/trackman/assets/asset.rb +0 -1
- data/lib/trackman/assets/components/rails32_path_resolver.rb +6 -29
- data/lib/trackman/assets/remote_asset.rb +3 -4
- data/lib/trackman/configuration_handler.rb +3 -3
- data/lib/trackman/railtie.rb +7 -3
- data/lib/trackman/version.rb +2 -2
- data/rails_generators/trackman/templates/trackman.rake +1 -1
- data/spec/fixtures/rails32/fully-loaded/public/503.html +1 -2
- data/spec/helpers/app_creator.rb +1 -1
- data/spec/helpers/fakable_pathman_tester.rb +3 -1
- data/spec/rails32_path_resolver_spec.rb +1 -2
- data/spec/remote_asset_spec.rb +0 -1
- data/spec/spec_helper.rb +24 -0
- metadata +2 -4
- data/spec/helpers/config_helper.rb +0 -0
data/Gemfile
CHANGED
data/lib/tasks.rb
CHANGED
@@ -8,25 +8,20 @@ module Trackman
|
|
8
8
|
|
9
9
|
def translate url, parent_url
|
10
10
|
root = working_dir.realpath
|
11
|
-
path = url.dup
|
12
11
|
|
13
|
-
|
12
|
+
path = url.dup
|
14
13
|
path.slice! /^(\/assets|assets\/)/
|
15
14
|
path = Pathname.new path
|
16
15
|
|
17
16
|
path = prepare_for_sprocket(path, parent_url, root) if path.relative?
|
18
17
|
begin
|
19
18
|
path = sprockets.resolve path
|
20
|
-
rescue Exception
|
19
|
+
rescue Exception => e
|
21
20
|
return nil
|
22
21
|
end
|
23
22
|
path.relative_path_from(root).to_s
|
24
23
|
end
|
25
|
-
|
26
|
-
def sprockets
|
27
|
-
@@sprockets ||= init_env
|
28
|
-
end
|
29
|
-
|
24
|
+
|
30
25
|
def prepare_for_sprocket path, parent_url, root
|
31
26
|
folder = (root + Pathname.new(parent_url)).parent.realpath
|
32
27
|
path = (folder + path).to_s
|
@@ -34,28 +29,10 @@ module Trackman
|
|
34
29
|
path
|
35
30
|
end
|
36
31
|
|
37
|
-
def
|
38
|
-
|
39
|
-
|
40
|
-
paths = ['app', 'lib', 'vendor'].inject([]) do |array, f|
|
41
|
-
array + ["images", "stylesheets", "javascripts"].map{|p| "#{working_dir}/#{f}/assets/#{p}" }
|
42
|
-
end
|
43
|
-
|
44
|
-
paths << "#{working_dir}/public"
|
45
|
-
paths.each{|p| env.append_path p }
|
46
|
-
env
|
47
|
-
end
|
48
|
-
def subfolder(file)
|
49
|
-
if file.include?('.js')
|
50
|
-
subfolder = "javascripts"
|
51
|
-
elsif file.include?('.css')
|
52
|
-
subfolder = "stylesheets"
|
53
|
-
else
|
54
|
-
subfolder = "images"
|
55
|
-
end
|
56
|
-
subfolder
|
32
|
+
def sprockets
|
33
|
+
::Rails.application.assets
|
57
34
|
end
|
58
35
|
end
|
59
36
|
end
|
60
37
|
end
|
61
|
-
end
|
38
|
+
end
|
@@ -10,7 +10,6 @@ module Trackman
|
|
10
10
|
@@server_url = ENV['TRACKMAN_URL']
|
11
11
|
|
12
12
|
@@site = "#{@@server_url}/assets"
|
13
|
-
|
14
13
|
attr_reader :id
|
15
14
|
|
16
15
|
def initialize attributes = {}
|
@@ -22,7 +21,7 @@ module Trackman
|
|
22
21
|
end
|
23
22
|
|
24
23
|
def self.log_exception ex
|
25
|
-
RestClient.post "#{@@server_url}/exceptions", :exception => { :message => ex.message, :backtrace => ex.backtrace }
|
24
|
+
RestClient.post "#{@@server_url}/exceptions", :exception => { :message => ex.message, :backtrace => ex.backtrace }, :ssl_version => 'SSLv3'
|
26
25
|
end
|
27
26
|
|
28
27
|
def file_hash
|
@@ -45,13 +44,13 @@ module Trackman
|
|
45
44
|
end
|
46
45
|
|
47
46
|
def create!
|
48
|
-
response = RestClient.post @@site, build_params, :content_type => :json, :accept => :json
|
47
|
+
response = RestClient.post @@site, build_params, :content_type => :json, :accept => :json, :ssl_version => 'SSLv3'
|
49
48
|
path = response.headers[:location]
|
50
49
|
@id = path[/\d+$/].to_i
|
51
50
|
end
|
52
51
|
|
53
52
|
def update!
|
54
|
-
RestClient.put "#{@@site}/#{id}", build_params, :content_type => :json, :accept => :json
|
53
|
+
RestClient.put "#{@@site}/#{id}", build_params, :content_type => :json, :accept => :json, :ssl_version => 'SSLv3'
|
55
54
|
end
|
56
55
|
def delete
|
57
56
|
response = RestClient.delete "#{@@site}/#{id}"
|
@@ -31,7 +31,7 @@ module Trackman
|
|
31
31
|
|
32
32
|
|
33
33
|
def add_configs
|
34
|
-
|
34
|
+
if configs.include?(@@TRACKMAN_ERROR) && configs.include?(@@TRACKMAN_MAINTENANCE)
|
35
35
|
trackman_configs = {}
|
36
36
|
[[@@TRACKMAN_ERROR, @@ERROR], [@@TRACKMAN_MAINTENANCE, @@MAINTENANCE]].each do |old_c, new_c|
|
37
37
|
trackman_configs[new_c] = configs[old_c]
|
@@ -40,7 +40,7 @@ module Trackman
|
|
40
40
|
add = trackman_configs.map{|k,v| "#{k}=#{v}" }.join(' ')
|
41
41
|
add_config add
|
42
42
|
else
|
43
|
-
raise SetupException, "
|
43
|
+
raise SetupException, "cannot find trackman configuration, make sure trackman addon is installed"
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -96,4 +96,4 @@ module Trackman
|
|
96
96
|
|
97
97
|
class SetupException < Exception
|
98
98
|
end
|
99
|
-
end
|
99
|
+
end
|
data/lib/trackman/railtie.rb
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
module Trackman
|
2
2
|
class Railtie < Rails::Railtie
|
3
|
-
initializer "trackman.
|
4
|
-
app.config.middleware.use "Trackman::RackMiddleware"
|
3
|
+
initializer "trackman.hook" do |app|
|
4
|
+
#app.config.middleware.use "Trackman::RackMiddleware"
|
5
|
+
app.config.after_initialize do
|
6
|
+
Trackman::Assets::Asset.autosync
|
7
|
+
end
|
5
8
|
end
|
6
9
|
end
|
7
|
-
end
|
10
|
+
end
|
11
|
+
|
data/lib/trackman/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Trackman
|
2
|
-
VERSION = "0.
|
3
|
-
end
|
2
|
+
VERSION = "0.4.0"
|
3
|
+
end
|
@@ -5,12 +5,12 @@ namespace :trackman do
|
|
5
5
|
desc "Syncs your assets with the server, this is what gets executed when you deploy to heroku."
|
6
6
|
task :sync => :environment do
|
7
7
|
RestClient.log = Logger.new(STDOUT) if Debugger.debug_mode?
|
8
|
+
|
8
9
|
Trackman::Assets::Asset.sync
|
9
10
|
end
|
10
11
|
|
11
12
|
desc "Sets up the heroku configs required by Trackman"
|
12
13
|
task :setup, :app do |t, args|
|
13
|
-
|
14
14
|
heroku_version = Gem.loaded_specs["heroku"].version.to_s
|
15
15
|
Trackman::ConfigurationHandler.new(heroku_version, app: args[:app]).setup
|
16
16
|
end
|
data/spec/helpers/app_creator.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class AppCreator
|
2
2
|
def self.get_config url
|
3
|
-
response = RestClient.post url, :plan => 'test', :heroku_id => 123
|
3
|
+
response = RestClient.post url, :plan => 'test', :heroku_id => 123, :ssl_version => 'SSLv3'
|
4
4
|
json = JSON.parse response
|
5
5
|
|
6
6
|
trackman_url = json['config']['TRACKMAN_URL'].gsub('https', 'http')
|
@@ -31,7 +31,9 @@ class FakablePathManTester
|
|
31
31
|
define_method :translate do |url, parent_url|
|
32
32
|
parent = parent_url.to_s.dup
|
33
33
|
parent.slice!(prepath)
|
34
|
-
|
34
|
+
result = real_translate(url, parent)
|
35
|
+
return prepath + result unless result.nil?
|
36
|
+
nil
|
35
37
|
end
|
36
38
|
end
|
37
39
|
end
|
@@ -17,8 +17,7 @@ describe Trackman::Assets::Components::Rails32PathResolver do
|
|
17
17
|
@test.stub(:prepare_for_sprocket).and_return('some/path')
|
18
18
|
@test.stub(:sprockets).and_return(sprocket)
|
19
19
|
|
20
|
-
@test.translate 'some/path', 'path/to/my/parent'
|
21
|
-
|
22
20
|
lambda { @test.translate 'some/path', 'path/to/my/parent' }.should_not raise_error
|
23
21
|
end
|
22
|
+
|
24
23
|
end
|
data/spec/remote_asset_spec.rb
CHANGED
@@ -10,7 +10,6 @@ describe Trackman::Assets::RemoteAsset do
|
|
10
10
|
json = JSON.parse response
|
11
11
|
@trackman_url = json['config']['TRACKMAN_URL'].gsub('https', 'http')
|
12
12
|
|
13
|
-
puts @trackman_url
|
14
13
|
@config = [[:@@server_url, @trackman_url], [:@@site, "#{@trackman_url}/assets"]]
|
15
14
|
@config.each do |s, v|
|
16
15
|
RemoteAsset.send(:class_variable_set, s, v)
|
data/spec/spec_helper.rb
CHANGED
@@ -13,6 +13,30 @@ RSpec.configure do |config|
|
|
13
13
|
end
|
14
14
|
|
15
15
|
|
16
|
+
module Trackman
|
17
|
+
module Assets
|
18
|
+
module Components
|
19
|
+
module Rails32PathResolver
|
20
|
+
def sprockets
|
21
|
+
@@sprockets ||= init_env
|
22
|
+
end
|
23
|
+
|
24
|
+
def init_env
|
25
|
+
env = ::Sprockets::Environment.new
|
26
|
+
paths = ['app', 'lib', 'vendor'].inject([]) do |array, f|
|
27
|
+
array + ["images", "stylesheets", "javascripts"].map{|p| "#{working_dir}/#{f}/assets/#{p}" }
|
28
|
+
end
|
29
|
+
paths << "#{working_dir}/public"
|
30
|
+
paths.each{|p| env.append_path p }
|
31
|
+
|
32
|
+
env
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
16
40
|
Asset = Trackman::Assets::Asset unless defined?(Asset)
|
17
41
|
CssAsset = Trackman::Assets::CssAsset unless defined?(CssAsset)
|
18
42
|
HtmlAsset = Trackman::Assets::HtmlAsset unless defined?(HtmlAsset)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-09-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
@@ -428,7 +428,6 @@ files:
|
|
428
428
|
- spec/helpers/act_like_rails2311.rb
|
429
429
|
- spec/helpers/act_like_rails32.rb
|
430
430
|
- spec/helpers/app_creator.rb
|
431
|
-
- spec/helpers/config_helper.rb
|
432
431
|
- spec/helpers/fakable_pathman_tester.rb
|
433
432
|
- spec/html_asset_spec.rb
|
434
433
|
- spec/paths/pathman_spec.rb
|
@@ -740,7 +739,6 @@ test_files:
|
|
740
739
|
- spec/helpers/act_like_rails2311.rb
|
741
740
|
- spec/helpers/act_like_rails32.rb
|
742
741
|
- spec/helpers/app_creator.rb
|
743
|
-
- spec/helpers/config_helper.rb
|
744
742
|
- spec/helpers/fakable_pathman_tester.rb
|
745
743
|
- spec/html_asset_spec.rb
|
746
744
|
- spec/paths/pathman_spec.rb
|
File without changes
|