jobmensa_assets 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/Gemfile.lock +11 -5
- data/config/ey.yml +178 -0
- data/config/{unicorn.rb → unicorn_local.rb} +0 -0
- data/config.ru +23 -10
- data/lib/jobmensa_assets/attachment_type.rb +19 -6
- data/lib/jobmensa_assets/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33dc913cb03fb90f0b53631c53b6153cdd750d0b
|
4
|
+
data.tar.gz: c2098fe8f90400e7207235c769c01a841061717f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe1cc74a34fc894d3ee510b9890c74d92d0a163d6527d93afe8cc7084adf72024f9a8e12d08373880d8226d02427c3f1457c9dcea4dbc98ba5e4e2952e521a6b
|
7
|
+
data.tar.gz: 44ea14bd68e59a26becba382e260218bfbc0ce771fcee564690bd534a1eef79402e7bc151a13661064c182541c8fe9957586a47a6c37ff748ba5c2e5f111a256
|
data/Gemfile
CHANGED
@@ -8,6 +8,7 @@ gem 'refile', git: 'https://github.com/refile/refile.git', ref: '6a25a2405964e6c
|
|
8
8
|
gem 'rake'
|
9
9
|
gem 'rspec'
|
10
10
|
gem 'newrelic_rpm', require: false
|
11
|
-
gem 'puma', require: false
|
12
11
|
gem 'unicorn', require: false
|
13
|
-
gem 'rollbar', require: false
|
12
|
+
gem 'rollbar', require: false
|
13
|
+
gem 'sinatra-logentries', require: false
|
14
|
+
gem 'logging', require: false
|
data/Gemfile.lock
CHANGED
@@ -47,22 +47,25 @@ GEM
|
|
47
47
|
i18n (0.7.0)
|
48
48
|
json (1.8.2)
|
49
49
|
kgio (2.9.3)
|
50
|
+
le (2.6.2)
|
51
|
+
little-plugger (1.1.3)
|
52
|
+
logging (2.0.0)
|
53
|
+
little-plugger (~> 1.1)
|
54
|
+
multi_json (~> 1.10)
|
50
55
|
mime-types (2.4.3)
|
51
56
|
mini_magick (4.2.1)
|
52
57
|
mini_portile (0.6.2)
|
53
|
-
minitest (5.
|
58
|
+
minitest (5.6.0)
|
54
59
|
multi_json (1.11.0)
|
55
60
|
newrelic_rpm (3.10.0.279)
|
56
61
|
nokogiri (1.6.6.2)
|
57
62
|
mini_portile (~> 0.6.0)
|
58
|
-
puma (2.11.1)
|
59
|
-
rack (>= 1.1, < 2.0)
|
60
63
|
rack (1.6.0)
|
61
64
|
rack-protection (1.5.3)
|
62
65
|
rack
|
63
66
|
raindrops (0.13.0)
|
64
67
|
rake (10.4.2)
|
65
|
-
rollbar (1.
|
68
|
+
rollbar (1.5.0)
|
66
69
|
multi_json (~> 1.3)
|
67
70
|
rspec (3.1.0)
|
68
71
|
rspec-core (~> 3.1.0)
|
@@ -80,6 +83,8 @@ GEM
|
|
80
83
|
rack (~> 1.4)
|
81
84
|
rack-protection (~> 1.4)
|
82
85
|
tilt (>= 1.3, < 3)
|
86
|
+
sinatra-logentries (0.0.2)
|
87
|
+
le (>= 2.1.6)
|
83
88
|
thread_safe (0.3.5)
|
84
89
|
tilt (2.0.1)
|
85
90
|
tzinfo (1.2.2)
|
@@ -95,10 +100,11 @@ PLATFORMS
|
|
95
100
|
DEPENDENCIES
|
96
101
|
bundler (~> 1.7)
|
97
102
|
jobmensa_assets!
|
103
|
+
logging
|
98
104
|
newrelic_rpm
|
99
|
-
puma
|
100
105
|
rake
|
101
106
|
refile!
|
102
107
|
rollbar
|
103
108
|
rspec
|
109
|
+
sinatra-logentries
|
104
110
|
unicorn
|
data/config/ey.yml
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
# Engine Yard Cloud Deploy Options
|
2
|
+
#
|
3
|
+
####################################################################
|
4
|
+
# IMPORTANT
|
5
|
+
# Commit this file into your git repository.
|
6
|
+
# These options are loaded on the server during deploy.
|
7
|
+
####################################################################
|
8
|
+
#
|
9
|
+
# Valid locations:
|
10
|
+
# * REPOSITORY_ROOT/config/ey.yml.
|
11
|
+
# * REPOSITORY_ROOT/ey.yml
|
12
|
+
#
|
13
|
+
# Further information available here:
|
14
|
+
# https://support.cloud.engineyard.com/entries/20996661-customize-your-deployment-on-engine-yard-cloud
|
15
|
+
#
|
16
|
+
# For advanced usage, see the source that loads this configuration:
|
17
|
+
# https://github.com/engineyard/engineyard-serverside/blob/master/lib/engineyard-serverside/configuration.rb
|
18
|
+
#
|
19
|
+
defaults:
|
20
|
+
# Run migrations during deploy by default.
|
21
|
+
#
|
22
|
+
# When set to true, runs the migration_command (below) during deploy.
|
23
|
+
#
|
24
|
+
# This setting can be overridden for individual deployments using
|
25
|
+
# the command line options --migrate or --no-migrate.
|
26
|
+
#
|
27
|
+
migrate: false
|
28
|
+
|
29
|
+
# Default migration command to run when migrations are enabled.
|
30
|
+
#
|
31
|
+
#migration_command: rake db:migrate --trace
|
32
|
+
|
33
|
+
# Enables rails assets precompilation always and halts when the task fails.
|
34
|
+
#
|
35
|
+
# By default, assets are detected using app/assets and config/application.rb.
|
36
|
+
#
|
37
|
+
# If you use rails assets and you want Engine Yard to compile your assets
|
38
|
+
# during deploy, set this to true. If you want to compile assets locally
|
39
|
+
# before deploy, set this to false. Make sure you add `public/assets` to
|
40
|
+
# `.gitignore` if you want Engine Yard to precompile your assets.
|
41
|
+
#
|
42
|
+
# For more control over assets, set precompile_assets: false and
|
43
|
+
# run your precompile task in the deploy/before_compile_assets.rb deploy hook.
|
44
|
+
#
|
45
|
+
precompile_assets: false
|
46
|
+
|
47
|
+
# Override the assets:precompile rake task. This option will be used instead
|
48
|
+
# of assets:precompile in the `rake assets:precompile` command.
|
49
|
+
#
|
50
|
+
#precompile_assets_task: assets:precompile
|
51
|
+
|
52
|
+
# Asset strategies affect the way assets are stored on the server.
|
53
|
+
#
|
54
|
+
# * private
|
55
|
+
# Store assets directly in public/assets for each deployment.
|
56
|
+
# Previous assets are symlinked for continuity.
|
57
|
+
# When assets are reused, they are copied using rsync.
|
58
|
+
#
|
59
|
+
# * shifting
|
60
|
+
# Assets are kept in a shared directory on each server.
|
61
|
+
# When new assets are compiled, old assets are shifted to a shared
|
62
|
+
# last_assets directory. This has always been the default behavior.
|
63
|
+
#
|
64
|
+
# * shared
|
65
|
+
# Assets are kept in a shared directory on each server.
|
66
|
+
# When new assets are compiled, the same directory is used.
|
67
|
+
# Assets will accumulate in this mode if a cleaning script is not run.
|
68
|
+
# Use this strategy if you want to write your own asset cleaning script.
|
69
|
+
#
|
70
|
+
# * cleaning
|
71
|
+
# Like shared, but a cleaning script is run before each new compile.
|
72
|
+
# The script attempts to remove all files not mentioned by the old
|
73
|
+
# manifest.yml, before it is replaced by the new manifest (leaving 2
|
74
|
+
# deployments worth of assets in the directory)
|
75
|
+
#
|
76
|
+
# "private" is recommended because it is the least error prone.
|
77
|
+
# If you prefer faster compilation, "shared" can be quicker, but will require
|
78
|
+
# custom scripting and will cause problems when rollbacks are used.
|
79
|
+
# "shifting" is the default behavior.
|
80
|
+
#
|
81
|
+
#asset_strategy: private
|
82
|
+
|
83
|
+
# This list of repository relative paths is checked for changes during
|
84
|
+
# each deployment (when change detection is not disabled). If `git diff`
|
85
|
+
# detects changes since the last deployment, fresh assets will be compiled.
|
86
|
+
#
|
87
|
+
# This option overrides the default list, so include the following
|
88
|
+
# defaults if you need them.
|
89
|
+
#
|
90
|
+
#asset_dependencies:
|
91
|
+
#- app/assets # default
|
92
|
+
#- lib/assets # default
|
93
|
+
#- vendor/assets # default
|
94
|
+
#- Gemfile.lock # default
|
95
|
+
#- config/application.rb # default
|
96
|
+
#- config/routes.rb # default
|
97
|
+
#- config/requirejs.yml # example of a custom asset dependency
|
98
|
+
|
99
|
+
# When true, precompiles assets even if no changes would be detected by
|
100
|
+
# running git diff with the asset_dependencies above.
|
101
|
+
#
|
102
|
+
# Default is false (always check git diff before asset compilation)
|
103
|
+
#
|
104
|
+
#precompile_unchanged_assets: false
|
105
|
+
|
106
|
+
# Choose which servers should compile assets.
|
107
|
+
#
|
108
|
+
# Default behavior is to exclude util instances.
|
109
|
+
# Specify :all to compile on all servers including util servers.
|
110
|
+
#
|
111
|
+
#asset_roles: :all
|
112
|
+
|
113
|
+
# Bundle without different bundler groups:
|
114
|
+
# Ex: bundle install --without '[bundle_without]'
|
115
|
+
#
|
116
|
+
# Default is "".
|
117
|
+
# Leave blank to remove --without from the bundle install command.
|
118
|
+
#
|
119
|
+
#bundle_without:
|
120
|
+
|
121
|
+
# Add extra options to the bundle install command line.
|
122
|
+
# Does not override bundle_without, if specified.
|
123
|
+
#
|
124
|
+
# If the application's gems are vendored in the
|
125
|
+
# repository, setting --local can speed up bundle.
|
126
|
+
#
|
127
|
+
#bundle_options:
|
128
|
+
|
129
|
+
# Enable maintenance page during migrate action (default)
|
130
|
+
# Setting this to false, disables maintenance page during migrations.
|
131
|
+
#
|
132
|
+
# CAUTION! No-downtime migrations requires careful migration
|
133
|
+
# planning. Migrations must be non-destructive. The *previous*
|
134
|
+
# deployment might serve pages during a partially migrated state.
|
135
|
+
# For example, if you rename a column, all traffic served during
|
136
|
+
# that migration will be broken until the new code is deployed.
|
137
|
+
#
|
138
|
+
#maintenance_on_migrate: true
|
139
|
+
|
140
|
+
# Enable maintanence page during every deploy.
|
141
|
+
# Unicorn and Passenger support no-downtime deploys, so the default
|
142
|
+
# for these servers is false. Mongrel and some other servers default
|
143
|
+
# to true to avoid downtime during server restarting.
|
144
|
+
#
|
145
|
+
#maintenance_on_restart:
|
146
|
+
|
147
|
+
# If true, always run deployments in verbose mode.
|
148
|
+
#
|
149
|
+
#verbose: false
|
150
|
+
|
151
|
+
# Hide the warning shown when the Gemfile does not contain a recognized
|
152
|
+
# database adapter (mongodb for example)
|
153
|
+
#
|
154
|
+
# This warning is here to help new customers that accidentally have no adapter.
|
155
|
+
# You may safely set this to true if you aren't using a common database.
|
156
|
+
#
|
157
|
+
#ignore_database_adapter_warning: false
|
158
|
+
|
159
|
+
# You can add custom keys that will be available in your deploy hooks.
|
160
|
+
# Custom keys will be available using config.key or config[:key]
|
161
|
+
#
|
162
|
+
#your_own_custom_key: custom info
|
163
|
+
|
164
|
+
|
165
|
+
####################################################################
|
166
|
+
# Environment specific options.
|
167
|
+
#
|
168
|
+
# The options you specify here will only apply to a single environment
|
169
|
+
# that exactly matches the environment name key.
|
170
|
+
#
|
171
|
+
# Environment options will override the default options above.
|
172
|
+
#
|
173
|
+
environments:
|
174
|
+
|
175
|
+
# These options will only apply to the EXAMPLE_ENVIRONMENT environment.
|
176
|
+
#EXAMPLE_ENVIRONMENT:
|
177
|
+
#precompile_unchanged_assets: true
|
178
|
+
|
File without changes
|
data/config.ru
CHANGED
@@ -14,34 +14,47 @@ require 'jobmensa_assets/config'
|
|
14
14
|
require 'refile/app'
|
15
15
|
|
16
16
|
# init logger, not needed if inside of a rails app
|
17
|
-
require '
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
require 'logging'
|
18
|
+
logger = Logging.logger['default_logger']
|
19
|
+
logger.add_appenders \
|
20
|
+
Logging.appenders.rolling_file "log/#{settings.environment}.log", keep: 5, age: 'daily'
|
21
|
+
if [:test, :development].include? settings.environment
|
22
|
+
logger.level = :debug
|
22
23
|
else
|
23
|
-
logger =
|
24
|
-
logger.level = Logger::INFO
|
25
|
-
logger
|
24
|
+
logger.level = :info
|
26
25
|
end
|
26
|
+
Refile.logger = logger
|
27
|
+
|
27
28
|
|
28
29
|
# configure rollbar
|
29
|
-
require 'rollbar'
|
30
30
|
if rollbar_key = ENV['ROLLBAR_ACCESS_TOKEN']
|
31
|
+
require 'rollbar'
|
31
32
|
Rollbar.configure do |config|
|
32
33
|
config.access_token = rollbar_key
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
37
|
+
# configure logentries
|
38
|
+
if logentries_key = ENV['LOGENTRIES_TOKEN']
|
39
|
+
require 'sinatra-logentries'
|
40
|
+
Sinatra::Logentries.token = logentries_key
|
41
|
+
end
|
42
|
+
|
36
43
|
# configure newrelic
|
37
44
|
configure :staging, :production do
|
38
45
|
require 'newrelic_rpm'
|
39
46
|
end
|
40
47
|
|
41
48
|
jobmensa_assets_app = Rack::Builder.new do
|
49
|
+
if (authorized_domain = ENV['BLITZ_AUTHORIZED_DOMAIN'])
|
50
|
+
map "/#{authorized_domain}" do
|
51
|
+
blitz_app = Sinatra.new { get('/') { '42' } }
|
52
|
+
blitz_app.run!
|
53
|
+
end
|
54
|
+
end
|
42
55
|
map '/attachments' do
|
43
56
|
run Refile::App
|
44
57
|
end
|
45
58
|
end
|
46
59
|
|
47
|
-
run jobmensa_assets_app
|
60
|
+
run jobmensa_assets_app
|
@@ -3,9 +3,13 @@ require 'degu'
|
|
3
3
|
module JobmensaAssets
|
4
4
|
enum :AttachmentType do
|
5
5
|
field :content_type
|
6
|
-
|
6
|
+
|
7
|
+
# Path for image if no thumnail is available
|
8
|
+
field :default_thumbnail_path
|
9
|
+
|
7
10
|
Image(
|
8
|
-
content_type: ['image/jpeg', 'image/gif', 'image/png']
|
11
|
+
content_type: ['image/jpeg', 'image/gif', 'image/png'],
|
12
|
+
default_thumbnail_path: ''
|
9
13
|
)
|
10
14
|
|
11
15
|
Spreadsheet(
|
@@ -13,11 +17,13 @@ module JobmensaAssets
|
|
13
17
|
'application/vnd.ms-excel', 'application/excel', # xls
|
14
18
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', # xlsx
|
15
19
|
'application/vnd.oasis.opendocument.spreadsheet' # ods
|
16
|
-
]
|
20
|
+
],
|
21
|
+
default_thumbnail_path: 'jobmensa/attachment-tables.png'
|
17
22
|
)
|
18
23
|
|
19
24
|
PDF(
|
20
|
-
content_type: ['application/pdf']
|
25
|
+
content_type: ['application/pdf'],
|
26
|
+
default_thumbnail_path: 'jobmensa/attachment-pdf.png'
|
21
27
|
)
|
22
28
|
|
23
29
|
Document(
|
@@ -26,7 +32,8 @@ module JobmensaAssets
|
|
26
32
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', # docx
|
27
33
|
'application/vnd.oasis.opendocument.text', # odt
|
28
34
|
'application/rtf', 'application/x-rtf', 'text/rtf', 'text/x-rtf' # rtf
|
29
|
-
]
|
35
|
+
],
|
36
|
+
default_thumbnail_path: 'jobmensa/attachment-text.png'
|
30
37
|
)
|
31
38
|
|
32
39
|
def self.content_type(type)
|
@@ -43,7 +50,13 @@ module JobmensaAssets
|
|
43
50
|
content_type.each_with_object([]) { |type, memo| memo << MIME::Types[type].flat_map(&:extensions) }.flatten.uniq
|
44
51
|
end
|
45
52
|
end
|
46
|
-
|
53
|
+
|
54
|
+
def self.attachment_type_for(content_type)
|
55
|
+
all.select do |attachment_type|
|
56
|
+
attachment_type.content_type.include? content_type
|
57
|
+
end.first
|
58
|
+
end
|
59
|
+
|
47
60
|
def self.max_filesize(_type)
|
48
61
|
Refile.cache.max_size
|
49
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jobmensa_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jobmensa dev team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|
@@ -130,9 +130,10 @@ files:
|
|
130
130
|
- README.md
|
131
131
|
- Rakefile
|
132
132
|
- config.ru
|
133
|
+
- config/ey.yml
|
133
134
|
- config/newrelic.yml
|
134
135
|
- config/puma.rb
|
135
|
-
- config/
|
136
|
+
- config/unicorn_local.rb
|
136
137
|
- jobmensa_assets.gemspec
|
137
138
|
- lib/jobmensa_assets.rb
|
138
139
|
- lib/jobmensa_assets/attachment_type.rb
|
@@ -173,3 +174,4 @@ summary: Our image resize and delivery app.
|
|
173
174
|
test_files:
|
174
175
|
- spec/jobmensa_assets_spec.rb
|
175
176
|
- spec/spec_helper.rb
|
177
|
+
has_rdoc:
|