blocky 0.0.7 → 0.0.8
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/app/controllers/blocky/content_blocks_controller.rb +23 -7
- data/app/controllers/blocky/images_controller.rb +43 -0
- data/app/helpers/blocky_helper.rb +1 -1
- data/app/views/blocky/content_blocks/edit.html.erb +19 -1
- data/app/views/blocky/content_blocks/index.json.jbuilder +10 -0
- data/app/views/blocky/content_blocks/show.json.jbuilder +10 -0
- data/config/routes.rb +1 -0
- data/lib/blocky.rb +2 -0
- data/lib/blocky/version.rb +1 -1
- metadata +33 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41a6e1031128ac08f54c5c611c93c83b1c6dd8ce
|
4
|
+
data.tar.gz: 4c74e846ebbf5690f26abbbd9f568ad4a97717ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 896ad606a905626b271650a0dbb7d3debc24912b23a16d9928733351effe42510c4aea37d4e1ab8180980407602e957c75358b12058c77a8d20ad9bd28b751ad
|
7
|
+
data.tar.gz: d8d37f05b441730738dba648bbed842ac8071f02495a6efa5a3c5a5f7d0458bf7e6df481994899d9b808b9d7d5a1558ae1b4adb2fbbc2b62b805ce4010fb885c
|
@@ -1,8 +1,9 @@
|
|
1
1
|
module Blocky
|
2
2
|
class ContentBlocksController < Blocky::ApplicationController
|
3
3
|
before_action :authorize_user
|
4
|
-
before_action :set_content_block, only: [:edit, :update]
|
4
|
+
before_action :set_content_block, only: [:show, :edit, :update]
|
5
5
|
layout "blocky/application"
|
6
|
+
respond_to :html, :json
|
6
7
|
|
7
8
|
def edit
|
8
9
|
end
|
@@ -10,25 +11,40 @@ module Blocky
|
|
10
11
|
def index
|
11
12
|
@global_content_blocks = Blocky::ContentBlock.global
|
12
13
|
@content_blocks = Blocky::ContentBlock.per_page
|
14
|
+
|
15
|
+
respond_with @content_blocks
|
13
16
|
end
|
14
17
|
|
15
18
|
def show
|
16
|
-
|
19
|
+
respond_to do |format|
|
20
|
+
format.html { redirect_to(action: :edit) }
|
21
|
+
format.json
|
22
|
+
end
|
17
23
|
end
|
18
24
|
|
19
25
|
def update
|
20
26
|
if @content_block.update(content_block_params)
|
21
|
-
|
27
|
+
respond_to do |format|
|
28
|
+
format.html {
|
29
|
+
redirect_to(content_blocks_url, notice: "Content block :#{@content_block.name} was updated successfully.")
|
30
|
+
}
|
31
|
+
format.json
|
32
|
+
end
|
22
33
|
else
|
23
|
-
|
34
|
+
respond_to do |format|
|
35
|
+
format.html {
|
36
|
+
render action: :edit
|
37
|
+
}
|
38
|
+
format.json
|
39
|
+
end
|
24
40
|
end
|
25
41
|
end
|
26
42
|
|
27
43
|
private
|
28
44
|
|
29
|
-
|
30
|
-
|
31
|
-
|
45
|
+
def authorize_user
|
46
|
+
authorize! :manage, Blocky::ContentBlock
|
47
|
+
end
|
32
48
|
|
33
49
|
# Use callbacks to share common setup or constraints between actions.
|
34
50
|
def set_content_block
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Blocky
|
2
|
+
class ImagesController < Blocky::ApplicationController
|
3
|
+
|
4
|
+
before_action :authorize_user
|
5
|
+
|
6
|
+
def create
|
7
|
+
if s3_bucket
|
8
|
+
file = params[:file]
|
9
|
+
time_file = create_filename(file)
|
10
|
+
s3_object = s3_bucket.objects.create(time_file, file.tempfile, {
|
11
|
+
acl: :public_read
|
12
|
+
})
|
13
|
+
render text: s3_object.public_url.to_s
|
14
|
+
else
|
15
|
+
throw Exception, "S3 not setup"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def authorize_user
|
22
|
+
authorize! :manage, Blocky::ContentBlock
|
23
|
+
end
|
24
|
+
|
25
|
+
def s3_bucket
|
26
|
+
if Blocky.s3_access_key_id && Blocky.s3_secret_access_key && Blocky.s3_bucket
|
27
|
+
s3 = AWS::S3.new(
|
28
|
+
access_key_id: Blocky.s3_access_key_id,
|
29
|
+
secret_access_key: Blocky.s3_secret_access_key
|
30
|
+
)
|
31
|
+
s3.buckets[Blocky.s3_bucket]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def create_filename(file)
|
36
|
+
file_ext = File.extname file.original_filename
|
37
|
+
file_base = File.basename file.original_filename, file_ext
|
38
|
+
time = Time.now.to_i
|
39
|
+
file_with_time = "#{file_base}_#{time}#{file_ext}"
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -19,6 +19,7 @@
|
|
19
19
|
<% content_for :scripts do %>
|
20
20
|
<script>
|
21
21
|
$(function() {
|
22
|
+
|
22
23
|
$('.content-editor').summernote({
|
23
24
|
codemirror: {
|
24
25
|
lineNumbers: true,
|
@@ -37,8 +38,25 @@
|
|
37
38
|
['table', ['table']],
|
38
39
|
['insert', ['link', 'picture', 'video']],
|
39
40
|
['code', ['codeview', 'fullscreen']]
|
40
|
-
]
|
41
|
+
],
|
42
|
+
|
43
|
+
onImageUpload: function(files, editor, welEditable) {
|
44
|
+
data = new FormData();
|
45
|
+
data.append("file", files[0]);
|
46
|
+
$.ajax({
|
47
|
+
data: data,
|
48
|
+
type: "POST",
|
49
|
+
url: "../images",
|
50
|
+
cache: false,
|
51
|
+
contentType: false,
|
52
|
+
processData: false,
|
53
|
+
success: function(url) {
|
54
|
+
editor.insertImage(welEditable, url);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
}
|
41
58
|
});
|
42
59
|
});
|
43
60
|
</script>
|
44
61
|
<% end %>
|
62
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
json.content_blocks @content_blocks do |content_block|
|
2
|
+
json.id content_block.id
|
3
|
+
|
4
|
+
json.content content_block.content
|
5
|
+
json.name content_block.name
|
6
|
+
json.page_path content_block.page_path
|
7
|
+
|
8
|
+
json.created_at content_block.created_at
|
9
|
+
json.updated_at content_block.updated_at
|
10
|
+
end
|
data/config/routes.rb
CHANGED
data/lib/blocky.rb
CHANGED
data/lib/blocky/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blocky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Pattison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: aws-sdk
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.40'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.40'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: cancan
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -24,6 +38,20 @@ dependencies:
|
|
24
38
|
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '1.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: jbuilder
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: rails
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -332,6 +360,7 @@ files:
|
|
332
360
|
- app/assets/stylesheets/blocky/shared/typography/lists.scss
|
333
361
|
- app/controllers/blocky/application_controller.rb
|
334
362
|
- app/controllers/blocky/content_blocks_controller.rb
|
363
|
+
- app/controllers/blocky/images_controller.rb
|
335
364
|
- app/controllers/concerns/blocky/auth.rb
|
336
365
|
- app/helpers/blocky/application_helper.rb
|
337
366
|
- app/helpers/blocky_helper.rb
|
@@ -340,6 +369,8 @@ files:
|
|
340
369
|
- app/views/blocky/content_blocks/_content_block.html.erb
|
341
370
|
- app/views/blocky/content_blocks/edit.html.erb
|
342
371
|
- app/views/blocky/content_blocks/index.html.erb
|
372
|
+
- app/views/blocky/content_blocks/index.json.jbuilder
|
373
|
+
- app/views/blocky/content_blocks/show.json.jbuilder
|
343
374
|
- app/views/layouts/blocky/_flash_messages.html.erb
|
344
375
|
- app/views/layouts/blocky/application.html.erb
|
345
376
|
- config/jshint.json
|