magickly 1.2.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,85 @@
1
+ var Magickly = {
2
+ $inputUrl: undefined,
3
+ $resultUrl: undefined,
4
+ $resultImage: undefined,
5
+
6
+ inputUrl: undefined,
7
+
8
+ queryParams: {},
9
+
10
+ init: function(){
11
+ this.$inputUrl = $('#input-url');
12
+ this.$resultUrl = $('#result-url');
13
+ this.$resultImage = $('#result-image');
14
+
15
+ this.inputUrl = this.$inputUrl.val();
16
+
17
+ this.$inputUrl.bind('paste', $.proxy(this.onSourceUrlEvent, this) );
18
+ this.$inputUrl.keydown( $.proxy(this.onSourceUrlKeydown, this) );
19
+ this.$inputUrl.change( $.proxy(this.onSourceUrlEvent, this) );
20
+ $('input.effect[type="checkbox"]').change( $.proxy(this.onEffectToggle, this) );
21
+
22
+ $('#halftone-slider').slider({
23
+ value: 50,
24
+ change: function(e, ui){
25
+ Magickly.queryParams.halftone = ui.value;
26
+ $(this).siblings('input[type="checkbox"]').attr('checked', 'true');
27
+ Magickly.updateResultUrl.call(Magickly);
28
+ }
29
+ });
30
+ },
31
+
32
+ updateResultUrl: function(){
33
+ var newSrc = window.location.href + '?src=' + this.inputUrl,
34
+ queryString = $.param(this.queryParams);
35
+
36
+ if (queryString){
37
+ newSrc += '&' + queryString;
38
+ }
39
+
40
+ this.$resultImage.attr('src', newSrc);
41
+ this.$resultUrl.val(newSrc);
42
+ },
43
+
44
+ onSourceUrlKeydown: function(e){
45
+ if (e.which === 13){
46
+ // ENTER key
47
+ this.$inputUrl.blur();
48
+ }
49
+ },
50
+
51
+ onSourceUrlEvent: function(){
52
+ var newInputUrl = this.$inputUrl.val();
53
+ if (newInputUrl !== this.inputUrl){
54
+ this.inputUrl = newInputUrl;
55
+ this.updateResultUrl();
56
+ }
57
+ },
58
+
59
+ onEffectToggle: function(e){
60
+ var $checkbox = $(e.currentTarget),
61
+ effect = $checkbox.attr('name');
62
+
63
+ if ($checkbox.is(':checked')){
64
+ if ($checkbox.hasClass('slider-toggle')){
65
+ var $slider = $('#' + effect + '-slider');
66
+ sliderVal = $slider.slider('value');
67
+
68
+ if (sliderVal === $slider.slider('option', 'value')){
69
+ // default value
70
+ this.queryParams[effect] = 'true';
71
+ } else {
72
+ this.queryParams[effect] = $slider.slider('value');
73
+ }
74
+ }
75
+ } else {
76
+ delete this.queryParams[effect];
77
+ }
78
+
79
+ this.updateResultUrl();
80
+ }
81
+ }
82
+
83
+ $(function(){
84
+ Magickly.init();
85
+ });
@@ -0,0 +1,83 @@
1
+ body {
2
+ background-color: white;
3
+ font-size: 14px;
4
+ line-height: 22px;
5
+ font-family: Helvetica, Arial, sans-serif;
6
+ color: #000000;
7
+ font-weight: lighter;
8
+ }
9
+ p {
10
+ padding: 18px;
11
+ margin: 0;
12
+ }
13
+ .checkbox {
14
+ width: 100px;
15
+ }
16
+ #container {
17
+ width: 890px;
18
+ text-align: left;
19
+ margin: 0 auto;
20
+ }
21
+ #about {
22
+ height: 125px;
23
+ width: 821px;
24
+ border: 1px solid #d2d2d2;
25
+ background-color: #f7f7f7;
26
+ color: #000;
27
+ padding: 0;
28
+ margin: 0 0 10px 0;
29
+ }
30
+ #main {
31
+ position: absolute;
32
+ }
33
+ #readme-link {
34
+ width: 788px;
35
+ font-size: 2em;
36
+ text-align: center;
37
+ }
38
+ #toggle-effects {
39
+ float: left;
40
+ width: 410px;
41
+ min-height: 215px;
42
+ background-color: yellow;
43
+ display:block;
44
+ }
45
+ #adjustable-effects {
46
+ float: right;
47
+ width: 410px;
48
+ min-height: 215px;
49
+ background-color: pink;
50
+ display:block;
51
+ }
52
+ #adjustable-effects .slider {
53
+ width: 250px;
54
+ }
55
+ #result{
56
+ height:auto;
57
+ width: 410px;
58
+ display:block;
59
+ background: red;
60
+ clear: both;
61
+ }
62
+
63
+ #footer {
64
+ height:62px;
65
+ width: 100%;
66
+ display:block;
67
+ background: #242524;
68
+ color: white;
69
+ margin: 44px 0 0 0;
70
+ padding: 4px 0 0 0;
71
+ }
72
+ #left_foot{
73
+ float:left;
74
+ padding-left: 18px;
75
+ }
76
+ #right_foot{
77
+ float: right;
78
+ padding-right: 18px;
79
+ }
80
+ A:link {color: #468fa6; text-decoration: none;}
81
+ A:visited {color: #468fa6; text-decoration: none;}
82
+ A:active {color: #468fa6; text-decoration: none;}
83
+ A:hover {color: #c9283b; text-decoration:none;}
@@ -46,6 +46,12 @@ Magickly.dragonfly.configure do |c|
46
46
  lomo_mask = File.join(File.dirname(__FILE__), 'images', 'lomo_mask.png')
47
47
  process :convert, "\\( +clone -unsharp 1 -contrast -contrast -modulate #{modulate_params} \\( #{lomo_mask} -resize #{@job.width}x#{@job.height}\\! \\) -compose overlay -composite \\) -compose multiply -composite"
48
48
  end
49
+
50
+ # thanks to Jesse Chan-Norris - http://jcn.me/
51
+ c.job :jcn do
52
+ process :greyscale
53
+ @job = @job.halftone(99)
54
+ end
49
55
 
50
56
 
51
57
  ## thanks to Fred Weinhaus (http://www.fmwconcepts.com/imagemagick) for the following: ##
@@ -0,0 +1,6 @@
1
+ <% @analyzers.each do |analyzer| %>
2
+ <a href="/analyze/<%= analyzer.to_s.chomp('?') %>?src=<%= Magickly::App::DEMO_IMAGE %>">
3
+ <%= analyzer %>
4
+ </a>
5
+ <br/>
6
+ <% end %>
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Magickly</title>
5
+ <link href="jquery-ui.smoothness.css" rel="stylesheet" type="text/css">
6
+ <link href="style.css" rel="stylesheet" type="text/css">
7
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
8
+ <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
9
+ <script type="text/javascript" src="magickly_demo.js"></script>
10
+ <script type="text/javascript">
11
+ var _gaq = _gaq || [];
12
+ _gaq.push(['_setAccount', 'UA-22837777-1']);
13
+ _gaq.push(['_trackPageview']);
14
+
15
+ (function() {
16
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
17
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
18
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
19
+ })();
20
+ </script>
21
+ </head>
22
+ <body>
23
+ <a href="https://github.com/afeld/magickly/blob/master/README.md">
24
+ <img style="position: absolute; top: 0; left: 0; border: 0;" src="https://a248.e.akamai.net/assets.github.com/img/bec6c51521dcc8148146135149fe06a9cc737577/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub">
25
+ </a>
26
+ <div id="container">
27
+ <div id="logo">
28
+ <a href="http://www.jux.com"><img width='822' height='244' src="images/logo.jpg"></a>
29
+ </div>
30
+ <div id="about"><p>Magickly is a web service for image manipulation, built as a wrapper of Imagemagick. This allows developers to apply effects to one (or hundreds) of photos, without any fancy plugins or complex client code. It's as easy as providing your source image and the list of transformations.</p></div>
31
+ <div id="main">
32
+ <p id="readme-link">
33
+ Click <a href="https://github.com/afeld/magickly/blob/master/README.md">here</a> to learn more.
34
+ </p>
35
+ </div> <!--end main -->
36
+ </div> <!-- end container -->
37
+ </body>
38
+ </html>
@@ -5,14 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "magickly"
8
- s.version = "1.2.1"
8
+ s.version = "1.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aidan Feldman"]
12
- s.date = "2011-12-21"
12
+ s.date = "2012-01-26"
13
13
  s.description = "A service for image manipulation - built as an extensible wrapper of Imagemagick which handles caching, c/o the Dragonfly gem."
14
14
  s.email = "aidan.feldman@gmail.com"
15
- s.executables = ["magickly"]
16
15
  s.extra_rdoc_files = [
17
16
  "LICENSE.txt",
18
17
  "README.md"
@@ -21,6 +20,7 @@ Gem::Specification.new do |s|
21
20
  ".document",
22
21
  ".gemtest",
23
22
  ".rspec",
23
+ ".travis.yml",
24
24
  "Gemfile",
25
25
  "Gemfile.lock",
26
26
  "HISTORY.md",
@@ -28,16 +28,19 @@ Gem::Specification.new do |s|
28
28
  "README.md",
29
29
  "Rakefile",
30
30
  "VERSION",
31
- "bin/magickly",
32
31
  "config.ru",
33
32
  "lib/dragonfly/data_storage/remote_data_store.rb",
34
33
  "lib/images/lomo_mask.png",
35
34
  "lib/magickly.rb",
36
35
  "lib/magickly/app.rb",
37
36
  "lib/public/imagemagick.png",
37
+ "lib/public/images/logo.jpg",
38
+ "lib/public/jquery-ui.smoothness.css",
39
+ "lib/public/magickly_demo.js",
40
+ "lib/public/style.css",
38
41
  "lib/shortcuts.rb",
39
- "lib/views/analyzers.haml",
40
- "lib/views/index.haml",
42
+ "lib/views/analyzers.erb",
43
+ "lib/views/index.erb",
41
44
  "magickly.gemspec",
42
45
  "spec/requests/magickly_app_spec.rb",
43
46
  "spec/spec_helper.rb",
@@ -49,7 +52,7 @@ Gem::Specification.new do |s|
49
52
  s.homepage = "http://github.com/afeld/magickly"
50
53
  s.licenses = ["MIT"]
51
54
  s.require_paths = ["lib"]
52
- s.rubygems_version = "1.8.12"
55
+ s.rubygems_version = "1.8.15"
53
56
  s.summary = "image manipulation as a (plugin-able) service"
54
57
 
55
58
  if s.respond_to? :specification_version then
@@ -59,12 +62,9 @@ Gem::Specification.new do |s|
59
62
  s.add_runtime_dependency(%q<sinatra>, ["~> 1.2"])
60
63
  s.add_runtime_dependency(%q<dragonfly>, ["~> 0.9.5"])
61
64
  s.add_runtime_dependency(%q<addressable>, ["~> 2.2"])
62
- s.add_runtime_dependency(%q<haml>, ["~> 3.0"])
63
65
  s.add_runtime_dependency(%q<httparty>, ["~> 0.8.1"])
64
66
  s.add_runtime_dependency(%q<activesupport>, [">= 2.0.0"])
65
- s.add_runtime_dependency(%q<json>, ["~> 1.5"])
66
67
  s.add_development_dependency(%q<jeweler>, ["~> 1.5"])
67
- s.add_development_dependency(%q<rcov>, [">= 0"])
68
68
  s.add_development_dependency(%q<rack-test>, [">= 0"])
69
69
  s.add_development_dependency(%q<rspec>, ["~> 2.4"])
70
70
  s.add_development_dependency(%q<webmock>, ["~> 1.6"])
@@ -73,12 +73,9 @@ Gem::Specification.new do |s|
73
73
  s.add_dependency(%q<sinatra>, ["~> 1.2"])
74
74
  s.add_dependency(%q<dragonfly>, ["~> 0.9.5"])
75
75
  s.add_dependency(%q<addressable>, ["~> 2.2"])
76
- s.add_dependency(%q<haml>, ["~> 3.0"])
77
76
  s.add_dependency(%q<httparty>, ["~> 0.8.1"])
78
77
  s.add_dependency(%q<activesupport>, [">= 2.0.0"])
79
- s.add_dependency(%q<json>, ["~> 1.5"])
80
78
  s.add_dependency(%q<jeweler>, ["~> 1.5"])
81
- s.add_dependency(%q<rcov>, [">= 0"])
82
79
  s.add_dependency(%q<rack-test>, [">= 0"])
83
80
  s.add_dependency(%q<rspec>, ["~> 2.4"])
84
81
  s.add_dependency(%q<webmock>, ["~> 1.6"])
@@ -88,12 +85,9 @@ Gem::Specification.new do |s|
88
85
  s.add_dependency(%q<sinatra>, ["~> 1.2"])
89
86
  s.add_dependency(%q<dragonfly>, ["~> 0.9.5"])
90
87
  s.add_dependency(%q<addressable>, ["~> 2.2"])
91
- s.add_dependency(%q<haml>, ["~> 3.0"])
92
88
  s.add_dependency(%q<httparty>, ["~> 0.8.1"])
93
89
  s.add_dependency(%q<activesupport>, [">= 2.0.0"])
94
- s.add_dependency(%q<json>, ["~> 1.5"])
95
90
  s.add_dependency(%q<jeweler>, ["~> 1.5"])
96
- s.add_dependency(%q<rcov>, [">= 0"])
97
91
  s.add_dependency(%q<rack-test>, [">= 0"])
98
92
  s.add_dependency(%q<rspec>, ["~> 2.4"])
99
93
  s.add_dependency(%q<webmock>, ["~> 1.6"])
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
- require 'json'
2
+ require 'uri'
3
3
 
4
4
  describe Magickly::App do
5
5
  include Rack::Test::Methods
@@ -11,6 +11,7 @@ describe Magickly::App do
11
11
  def setup_image(host='http://www.foo.com')
12
12
  @image_filename = 'imagemagick.png'
13
13
  @image_url = "#{host}/#{@image_filename}"
14
+ @escaped_image_url = URI.escape @image_url, URI::REGEXP::PATTERN::RESERVED
14
15
  @image_path = File.join(File.dirname(__FILE__), '..', 'support', @image_filename)
15
16
  stub_request(:get, @image_url).to_return(:body => File.new(@image_path))
16
17
  end
@@ -94,13 +95,28 @@ describe Magickly::App do
94
95
  process :thumb, size
95
96
  end
96
97
  end
97
-
98
+
98
99
  get "/?src=#{@image_url}&#{shortcut}=#{width}x"
99
100
 
100
101
  last_response.should be_ok
101
102
  ImageSize.new(last_response.body).get_width.should eq width
102
103
  end
103
104
  end
105
+
106
+ describe "GET /q" do
107
+
108
+ it "resizes an image" do
109
+ setup_image
110
+ width = 100
111
+
112
+ get "/q/src/#{@escaped_image_url}/resize/#{width}x"
113
+
114
+ a_request(:get, @image_url).should have_been_made.once
115
+ last_response.should be_ok
116
+ ImageSize.new(last_response.body).get_width.should eq width
117
+ end
118
+
119
+ end
104
120
 
105
121
  describe "GET /analyze" do
106
122
  it "retrieves the mime_type of an image" do
@@ -121,7 +137,7 @@ describe Magickly::App do
121
137
  a_request(:get, @image_url).should have_been_made.once
122
138
  last_response.should be_ok
123
139
  last_response.body.should_not be_empty
124
- json = JSON.parse(last_response.body)
140
+ json = ActiveSupport::JSON.decode(last_response.body)
125
141
  json.should be_an Array
126
142
  json.size.should eq 5
127
143
  end
@@ -57,4 +57,26 @@ describe "Dragonfly shortcuts" do
57
57
  @image.tilt_shift('2,-1,0.5')
58
58
  end
59
59
  end
60
+
61
+ describe :lomo do
62
+ it "should throw an error for no arguments" do
63
+ expect { @image.lomo }.to raise_error(ArgumentError)
64
+ end
65
+
66
+ it "should throw an error for a empty string" do
67
+ expect { @image.lomo('') }.to raise_error(ArgumentError)
68
+ end
69
+
70
+ it "should succeed for when set to true" do
71
+ @image.lomo('true')
72
+ end
73
+
74
+ it "should succeed for valid coefficients" do
75
+ @image.lomo('100,120')
76
+ end
77
+
78
+ it "should throw an error for negative values" do
79
+ expect { @image.lomo('-80,-80') }.to raise_error(ArgumentError)
80
+ end
81
+ end
60
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magickly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-21 00:00:00.000000000 Z
12
+ date: 2012-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &70169062032180 !ruby/object:Gem::Requirement
16
+ requirement: &70099405673020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70169062032180
24
+ version_requirements: *70099405673020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: dragonfly
27
- requirement: &70169062047380 !ruby/object:Gem::Requirement
27
+ requirement: &70099405672440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.5
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70169062047380
35
+ version_requirements: *70099405672440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: addressable
38
- requirement: &70169062042260 !ruby/object:Gem::Requirement
38
+ requirement: &70099405671720 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,21 +43,10 @@ dependencies:
43
43
  version: '2.2'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70169062042260
47
- - !ruby/object:Gem::Dependency
48
- name: haml
49
- requirement: &70169062039960 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: *70169062039960
46
+ version_requirements: *70099405671720
58
47
  - !ruby/object:Gem::Dependency
59
48
  name: httparty
60
- requirement: &70169062054320 !ruby/object:Gem::Requirement
49
+ requirement: &70099405670520 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
52
  - - ~>
@@ -65,10 +54,10 @@ dependencies:
65
54
  version: 0.8.1
66
55
  type: :runtime
67
56
  prerelease: false
68
- version_requirements: *70169062054320
57
+ version_requirements: *70099405670520
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: activesupport
71
- requirement: &70169062051960 !ruby/object:Gem::Requirement
60
+ requirement: &70099405669280 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ! '>='
@@ -76,21 +65,10 @@ dependencies:
76
65
  version: 2.0.0
77
66
  type: :runtime
78
67
  prerelease: false
79
- version_requirements: *70169062051960
80
- - !ruby/object:Gem::Dependency
81
- name: json
82
- requirement: &70169062048680 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- version: '1.5'
88
- type: :runtime
89
- prerelease: false
90
- version_requirements: *70169062048680
68
+ version_requirements: *70099405669280
91
69
  - !ruby/object:Gem::Dependency
92
70
  name: jeweler
93
- requirement: &70169062080560 !ruby/object:Gem::Requirement
71
+ requirement: &70099405668340 !ruby/object:Gem::Requirement
94
72
  none: false
95
73
  requirements:
96
74
  - - ~>
@@ -98,21 +76,10 @@ dependencies:
98
76
  version: '1.5'
99
77
  type: :development
100
78
  prerelease: false
101
- version_requirements: *70169062080560
102
- - !ruby/object:Gem::Dependency
103
- name: rcov
104
- requirement: &70169062095520 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: *70169062095520
79
+ version_requirements: *70099405668340
113
80
  - !ruby/object:Gem::Dependency
114
81
  name: rack-test
115
- requirement: &70169062090640 !ruby/object:Gem::Requirement
82
+ requirement: &70099405667520 !ruby/object:Gem::Requirement
116
83
  none: false
117
84
  requirements:
118
85
  - - ! '>='
@@ -120,10 +87,10 @@ dependencies:
120
87
  version: '0'
121
88
  type: :development
122
89
  prerelease: false
123
- version_requirements: *70169062090640
90
+ version_requirements: *70099405667520
124
91
  - !ruby/object:Gem::Dependency
125
92
  name: rspec
126
- requirement: &70169062110280 !ruby/object:Gem::Requirement
93
+ requirement: &70099405666620 !ruby/object:Gem::Requirement
127
94
  none: false
128
95
  requirements:
129
96
  - - ~>
@@ -131,10 +98,10 @@ dependencies:
131
98
  version: '2.4'
132
99
  type: :development
133
100
  prerelease: false
134
- version_requirements: *70169062110280
101
+ version_requirements: *70099405666620
135
102
  - !ruby/object:Gem::Dependency
136
103
  name: webmock
137
- requirement: &70169062106480 !ruby/object:Gem::Requirement
104
+ requirement: &70099405666020 !ruby/object:Gem::Requirement
138
105
  none: false
139
106
  requirements:
140
107
  - - ~>
@@ -142,10 +109,10 @@ dependencies:
142
109
  version: '1.6'
143
110
  type: :development
144
111
  prerelease: false
145
- version_requirements: *70169062106480
112
+ version_requirements: *70099405666020
146
113
  - !ruby/object:Gem::Dependency
147
114
  name: imagesize
148
- requirement: &70169062102960 !ruby/object:Gem::Requirement
115
+ requirement: &70099405681480 !ruby/object:Gem::Requirement
149
116
  none: false
150
117
  requirements:
151
118
  - - ~>
@@ -153,12 +120,11 @@ dependencies:
153
120
  version: '0.1'
154
121
  type: :development
155
122
  prerelease: false
156
- version_requirements: *70169062102960
123
+ version_requirements: *70099405681480
157
124
  description: A service for image manipulation - built as an extensible wrapper of
158
125
  Imagemagick which handles caching, c/o the Dragonfly gem.
159
126
  email: aidan.feldman@gmail.com
160
- executables:
161
- - magickly
127
+ executables: []
162
128
  extensions: []
163
129
  extra_rdoc_files:
164
130
  - LICENSE.txt
@@ -167,6 +133,7 @@ files:
167
133
  - .document
168
134
  - .gemtest
169
135
  - .rspec
136
+ - .travis.yml
170
137
  - Gemfile
171
138
  - Gemfile.lock
172
139
  - HISTORY.md
@@ -174,16 +141,19 @@ files:
174
141
  - README.md
175
142
  - Rakefile
176
143
  - VERSION
177
- - bin/magickly
178
144
  - config.ru
179
145
  - lib/dragonfly/data_storage/remote_data_store.rb
180
146
  - lib/images/lomo_mask.png
181
147
  - lib/magickly.rb
182
148
  - lib/magickly/app.rb
183
149
  - lib/public/imagemagick.png
150
+ - lib/public/images/logo.jpg
151
+ - lib/public/jquery-ui.smoothness.css
152
+ - lib/public/magickly_demo.js
153
+ - lib/public/style.css
184
154
  - lib/shortcuts.rb
185
- - lib/views/analyzers.haml
186
- - lib/views/index.haml
155
+ - lib/views/analyzers.erb
156
+ - lib/views/index.erb
187
157
  - magickly.gemspec
188
158
  - spec/requests/magickly_app_spec.rb
189
159
  - spec/spec_helper.rb
@@ -206,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
206
176
  version: '0'
207
177
  segments:
208
178
  - 0
209
- hash: -2669035562758074524
179
+ hash: 596109342780870765
210
180
  required_rubygems_version: !ruby/object:Gem::Requirement
211
181
  none: false
212
182
  requirements:
@@ -215,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
185
  version: '0'
216
186
  requirements: []
217
187
  rubyforge_project:
218
- rubygems_version: 1.8.12
188
+ rubygems_version: 1.8.15
219
189
  signing_key:
220
190
  specification_version: 3
221
191
  summary: image manipulation as a (plugin-able) service