ample_assets 0.0.1

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.
Files changed (114) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.textile +68 -0
  3. data/Rakefile +38 -0
  4. data/app/assets/images/ample_assets/bg-noise.png +0 -0
  5. data/app/assets/images/ample_assets/btn-next.png +0 -0
  6. data/app/assets/images/ample_assets/btn-prev.png +0 -0
  7. data/app/assets/images/ample_assets/btn-select-files.png +0 -0
  8. data/app/assets/images/ample_assets/cancel.png +0 -0
  9. data/app/assets/images/ample_assets/closelabel.png +0 -0
  10. data/app/assets/images/ample_assets/collapse.png +0 -0
  11. data/app/assets/images/ample_assets/gravity.png +0 -0
  12. data/app/assets/images/ample_assets/icon_other.gif +0 -0
  13. data/app/assets/images/ample_assets/icon_pdf.gif +0 -0
  14. data/app/assets/images/ample_assets/icon_swf.gif +0 -0
  15. data/app/assets/images/ample_assets/loading.gif +0 -0
  16. data/app/assets/images/ample_assets/play.png +0 -0
  17. data/app/assets/images/ample_assets/prev-next.png +0 -0
  18. data/app/assets/images/ample_assets/reload.png +0 -0
  19. data/app/assets/images/ample_assets/remove.png +0 -0
  20. data/app/assets/javascripts/ample_assets.js +1 -0
  21. data/app/assets/javascripts/ample_assets/application.js +18 -0
  22. data/app/assets/javascripts/ample_assets/classes/ample_assets_gravity.js.coffee +86 -0
  23. data/app/assets/javascripts/ample_assets/classes/ample_assets_toolbar.js.coffee +769 -0
  24. data/app/assets/javascripts/ample_assets/classes/ample_assets_uploadify.js.coffee +30 -0
  25. data/app/assets/javascripts/ample_assets/files.js.coffee +5 -0
  26. data/app/assets/stylesheets/ample_assets.css +3 -0
  27. data/app/assets/stylesheets/ample_assets/application.css +8 -0
  28. data/app/assets/stylesheets/ample_assets/bourbon/css3/_border-radius.scss +59 -0
  29. data/app/assets/stylesheets/ample_assets/bourbon/css3/_box-shadow.scss +11 -0
  30. data/app/assets/stylesheets/ample_assets/custom_mixins.scss +47 -0
  31. data/app/assets/stylesheets/ample_assets/facebox.css +79 -0
  32. data/app/assets/stylesheets/ample_assets/files.css.scss +750 -0
  33. data/app/assets/swf/ample_assets/expressInstall.swf +0 -0
  34. data/app/assets/swf/ample_assets/uploadify.swf +0 -0
  35. data/app/controllers/ample_assets/application_controller.rb +4 -0
  36. data/app/controllers/ample_assets/files_controller.rb +109 -0
  37. data/app/helpers/ample_assets/application_helper.rb +4 -0
  38. data/app/models/ample_assets/file.rb +79 -0
  39. data/app/views/ample_assets/files/_drop.html.erb +12 -0
  40. data/app/views/ample_assets/files/_file.html.erb +1 -0
  41. data/app/views/ample_assets/files/_file.js.erb +3 -0
  42. data/app/views/ample_assets/files/index.html.erb +6 -0
  43. data/app/views/ample_assets/files/new.html.erb +21 -0
  44. data/app/views/ample_assets/files/recent.html.erb +1 -0
  45. data/app/views/ample_assets/files/show.html.erb +1 -0
  46. data/app/views/layouts/ample_assets/application.html.erb +14 -0
  47. data/config/routes.rb +27 -0
  48. data/lib/ample_assets.rb +26 -0
  49. data/lib/ample_assets/configuration.rb +73 -0
  50. data/lib/ample_assets/custom_processor.rb +29 -0
  51. data/lib/ample_assets/devise_constraint.rb +9 -0
  52. data/lib/ample_assets/engine.rb +36 -0
  53. data/lib/ample_assets/form_builder.rb +19 -0
  54. data/lib/ample_assets/form_helper.rb +14 -0
  55. data/lib/ample_assets/plugin_methods.rb +11 -0
  56. data/lib/ample_assets/version.rb +3 -0
  57. data/lib/ample_assets/view_helper.rb +80 -0
  58. data/lib/generators/ample_assets/install_generator.rb +25 -0
  59. data/lib/generators/ample_assets/templates/migration.rb +16 -0
  60. data/lib/generators/ample_assets/utils.rb +15 -0
  61. data/test/dummy/Rakefile +7 -0
  62. data/test/dummy/app/assets/images/rails.png +0 -0
  63. data/test/dummy/app/assets/javascripts/application.js +11 -0
  64. data/test/dummy/app/assets/sample.pdf +0 -0
  65. data/test/dummy/app/assets/stylesheets/application.css +8 -0
  66. data/test/dummy/app/controllers/application_controller.rb +7 -0
  67. data/test/dummy/app/controllers/public/pages_controller.rb +32 -0
  68. data/test/dummy/app/controllers/public_controller.rb +6 -0
  69. data/test/dummy/app/helpers/application_helper.rb +11 -0
  70. data/test/dummy/app/models/page.rb +7 -0
  71. data/test/dummy/app/views/layouts/application.html.erb +17 -0
  72. data/test/dummy/app/views/public/index.html.erb +0 -0
  73. data/test/dummy/app/views/public/pages/_form.html.erb +18 -0
  74. data/test/dummy/app/views/public/pages/edit.html.erb +1 -0
  75. data/test/dummy/app/views/public/pages/index.html.erb +8 -0
  76. data/test/dummy/app/views/public/pages/new.html.erb +1 -0
  77. data/test/dummy/app/views/public/pages/show.html.erb +3 -0
  78. data/test/dummy/config.ru +4 -0
  79. data/test/dummy/config/application.rb +45 -0
  80. data/test/dummy/config/boot.rb +10 -0
  81. data/test/dummy/config/database.yml +25 -0
  82. data/test/dummy/config/environment.rb +5 -0
  83. data/test/dummy/config/environments/development.rb +30 -0
  84. data/test/dummy/config/environments/production.rb +60 -0
  85. data/test/dummy/config/environments/test.rb +39 -0
  86. data/test/dummy/config/initializers/ample_assets.rb +4 -0
  87. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  88. data/test/dummy/config/initializers/inflections.rb +10 -0
  89. data/test/dummy/config/initializers/mime_types.rb +5 -0
  90. data/test/dummy/config/initializers/secret_token.rb +7 -0
  91. data/test/dummy/config/initializers/session_store.rb +8 -0
  92. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  93. data/test/dummy/config/locales/en.yml +5 -0
  94. data/test/dummy/config/routes.rb +8 -0
  95. data/test/dummy/db/migrate/20120105034123_create_pages.rb +9 -0
  96. data/test/dummy/db/migrate/20120106192233_create_ample_assets_tables.rb +16 -0
  97. data/test/dummy/db/schema.rb +37 -0
  98. data/test/dummy/public/404.html +26 -0
  99. data/test/dummy/public/422.html +26 -0
  100. data/test/dummy/public/500.html +26 -0
  101. data/test/dummy/public/favicon.ico +0 -0
  102. data/test/dummy/script/rails +6 -0
  103. data/test/functional/ample_assets/files_controller_test.rb +49 -0
  104. data/test/integration/ample_assets/admin_test.rb +96 -0
  105. data/test/integration/ample_assets/public_test.rb +7 -0
  106. data/test/integration_test_helper.rb +24 -0
  107. data/test/test_helper.rb +25 -0
  108. data/test/unit/ample_assets/configuration_test.rb +35 -0
  109. data/test/unit/ample_assets/file_test.rb +14 -0
  110. data/test/unit/ample_assets/plugin_methods_test.rb +30 -0
  111. data/test/unit/helpers/ample_assets/form_builder_test.rb +11 -0
  112. data/test/unit/helpers/ample_assets/form_helper_test.rb +23 -0
  113. data/test/unit/helpers/ample_assets/view_helper_test.rb +128 -0
  114. metadata +395 -0
@@ -0,0 +1,96 @@
1
+ require 'integration_test_helper'
2
+
3
+ module AmpleAssets
4
+ class AdminTest < ActionDispatch::IntegrationTest
5
+
6
+ context 'The Asset Toolbar' do
7
+
8
+ setup do
9
+ visit '/ample_assets/files/new'
10
+ attach_file 'Attachment', ::Rails.root.join('app/assets/images/rails.png')
11
+ click_button 'Create File'
12
+ visit new_page_path
13
+ fill_in 'Title', :with => 'Test Page'
14
+ click_button 'Create Page'
15
+ click_link 'Test Page'
16
+ click_link 'Assets'
17
+ end
18
+
19
+ should 'allow uploads of new files' do
20
+ # Handled in the setup
21
+ end
22
+
23
+ should 'display a list of recently added files' do
24
+ within('#recent-assets') do
25
+ assert page.has_selector?('img')
26
+ end
27
+ end
28
+
29
+ should 'show a lightbox when a thumbnail is clicked' do
30
+ link = page.find_by_id('recent-assets').find('a').click
31
+ assert_equal link['data-filename'], page.find('#facebox h3').value
32
+ assert page.has_selector?('#facebox .asset-media img')
33
+ end
34
+
35
+ should 'allow users to search for assets by keyword' do
36
+ assert !page.has_selector?('#asset-results img')
37
+ fill_in 'asset-search', :with => 'rails'
38
+ page.find_by_id('asset-search').native.send_key(:enter)
39
+ assert page.has_selector?('#asset-results img')
40
+ end
41
+
42
+ should 'allow users to drag an asset into an assocation' do
43
+ assert page.find_by_id('page_file_id').value.blank?
44
+ image = page.find_by_id('recent-assets').find('img')
45
+ drop = page.find('.asset-drop .droppable')
46
+ image.drag_to(drop)
47
+ assert !page.find_by_id('page_file_id').value.blank?
48
+ end
49
+
50
+ should 'allow users to remove an asset from an association' do
51
+ assert page.find_by_id('page_file_id').value.blank?
52
+ image = page.find_by_id('recent-assets').find('img')
53
+ drop = page.find('.asset-drop .droppable')
54
+ image.drag_to(drop)
55
+ assert !page.find_by_id('page_file_id').value.blank?
56
+ within('.asset-drop') do
57
+ click_link('Remove')
58
+ end
59
+ assert page.find_by_id('page_file_id').value.blank?
60
+ end
61
+
62
+ should 'allow users to drag an asset into a textarea (Textile)' do
63
+ body = page.find_by_id('body')
64
+ assert body.value.blank?
65
+ image = page.find_by_id('recent-assets').find('img')
66
+ image.drag_to(body)
67
+ click_button 'Insert'
68
+ assert body.value.include?('!')
69
+ end
70
+
71
+ should 'allow users to drag an asset into a textarea (HTML)' do
72
+ page.execute_script("$('#body').removeClass('textile')")
73
+ body = page.find_by_id('body')
74
+ assert body.value.blank?
75
+ image = page.find_by_id('recent-assets').find('img')
76
+ image.drag_to(body)
77
+ click_button 'Insert'
78
+ assert body.value.include?('src')
79
+ end
80
+
81
+ should 'allow users to delete an asset' do
82
+ link = page.find_by_id('recent-assets').find('a').click
83
+ id = link['id']
84
+ within('#facebox') do
85
+ click_link 'Delete'
86
+ end
87
+ confirm_dialog if selenium?
88
+ within('#recent-assets') do
89
+ assert page.has_no_selector?("#file-#{id}")
90
+ end
91
+ end
92
+
93
+ end
94
+
95
+ end
96
+ end
@@ -0,0 +1,7 @@
1
+ require 'integration_test_helper'
2
+
3
+ module AmpleAssets
4
+ class PublicTest < ActionDispatch::IntegrationTest
5
+
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ require 'test_helper'
2
+ require 'capybara/rails'
3
+
4
+ class ActionController::IntegrationTest
5
+
6
+ include Capybara::DSL
7
+
8
+ Capybara.default_driver = :selenium
9
+ Capybara.default_wait_time = 10
10
+
11
+ def confirm_dialog
12
+ a = page.driver.browser.switch_to.alert
13
+ if a.text == 'OK'
14
+ a.dismiss
15
+ else
16
+ a.accept
17
+ end
18
+ end
19
+
20
+ def selenium?
21
+ Capybara.default_driver == :selenium
22
+ end
23
+
24
+ end
@@ -0,0 +1,25 @@
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
+
4
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
+ require 'rails/test_help'
6
+ require 'shoulda'
7
+
8
+ Rails.backtrace_cleaner.remove_silencers!
9
+
10
+ # Load support files
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+
13
+ module AmpleAssets
14
+ class ActiveSupport::TestCase
15
+
16
+ def current_page
17
+ @page ||= Page.create! :title => 'Test Page', :file_id => current_file.id
18
+ end
19
+
20
+ def current_file
21
+ @file ||= File.create! :attachment => ::File.read("#{Rails.root}/app/assets/images/rails.png")
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+
3
+ module AmpleAssets
4
+ class ConfigurationTest < ActiveSupport::TestCase
5
+
6
+ context 'The Configuration' do
7
+
8
+ context 'defaults' do
9
+
10
+ AmpleAssets::Configuration::VALID_OPTIONS_KEYS.each do |key|
11
+ should "be returned for #{key}" do
12
+ AmpleAssets.send(key) == eval("AmpleAssets::Configuration::DEFAULT_#{key.upcase}")
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+
19
+ context 'via a configure block' do
20
+
21
+ AmpleAssets::Configuration::VALID_OPTIONS_KEYS.each do |key|
22
+ should "set the #{key}" do
23
+ AmpleAssets.configure do |config|
24
+ config.send("#{key}=", key)
25
+ assert AmpleAssets.send(key) == key
26
+ end
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ module AmpleAssets
4
+ class FileTest < ActiveSupport::TestCase
5
+
6
+ should 'create keywords based on the uploaded filename' do
7
+ file = File.new :attachment_url => 'http://www.google.com/intl/en_com/images/srpr/logo3w.png'
8
+ file.save
9
+ file.reload
10
+ assert file.keywords.include?('Logo3w')
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class TestModel < Page
4
+ has_asset
5
+ end
6
+
7
+ class CustomTestModel < Page
8
+ self.abstract_class = true
9
+ has_asset 'thing', :class_name => 'CustomFileModel'
10
+ end
11
+
12
+ module AmpleAssets
13
+ class PluginMethodsTest < ActiveSupport::TestCase
14
+
15
+ context 'The has_asset method' do
16
+
17
+ should 'create a belongs_to association with the given model' do
18
+ test_model = TestModel.new
19
+ assert test_model.respond_to?(:file)
20
+ end
21
+
22
+ should 'allow a custom association name' do
23
+ test_model = CustomTestModel.new
24
+ assert test_model.respond_to?(:thing)
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+ module AmpleAssets
4
+ class FormBuilderTest < ActionView::TestCase
5
+
6
+ test "the truth" do
7
+ assert true
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+ module AmpleAssets
4
+ class FormHelperTest < ActionView::TestCase
5
+
6
+ context 'The asset_drop method' do
7
+
8
+ setup do
9
+ render :text => asset_drop(:f, :g)
10
+ end
11
+
12
+ should 'create a hidden field' do
13
+ assert_select 'input[type=hidden]'
14
+ end
15
+
16
+ should 'be named according to the object and attribute' do
17
+ assert_select 'input#f_g'
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,128 @@
1
+ require 'test_helper'
2
+
3
+ module AmpleAssets
4
+ class ViewHelperTest < ActionView::TestCase
5
+
6
+ context 'The assets_toolbar method' do
7
+
8
+ setup do
9
+ # TODO: Why is this needed?
10
+ AmpleAssets.mount_at = '/ample_assets/'
11
+ AmpleAssets.tabs = [
12
+ { :id => 'recent-assets', :title => 'Recently Viewed', :url => '/ample_assets/files/recent', :panels => true, :data_type => 'json' },
13
+ { :id => 'image-assets', :title => 'Images', :url => '/ample_assets/files/images', :panels => true, :data_type => 'json' },
14
+ { :id => 'document-assets', :title => 'Documents', :url => '/ample_assets/files/documents', :panels => true, :data_type => 'json' },
15
+ { :id => 'upload', :title => 'Upload', :url => '/ample_assets/files/new' }
16
+ ]
17
+ render :text => assets_toolbar
18
+ end
19
+
20
+ should 'set the mount_at path' do
21
+ assert_select('script', :html => /mount_at = '#{AmpleAssets.mount_at.gsub('/', '\/')}'/)
22
+ end
23
+
24
+ should 'set the tabs based on configuration options' do
25
+ AmpleAssets.tabs.each do |tab|
26
+ assert_select('script', :html => /#{tab[:url].gsub('/', '\/')}/)
27
+ end
28
+ end
29
+
30
+ should 'not be html escaped' do
31
+ assert_select('script', :html => /&quot;/, :count => 0)
32
+ end
33
+
34
+ end
35
+
36
+ context 'The image_asset method' do
37
+
38
+ context 'without args' do
39
+
40
+ setup do
41
+ render :text => image_asset(current_page)
42
+ end
43
+
44
+ should 'not require dimensions to be set' do
45
+ assert_select("img[width=50]")
46
+ assert_select("img[height=64]")
47
+ end
48
+
49
+ end
50
+
51
+ context 'with some args' do
52
+
53
+ setup do
54
+ render :text => image_asset(current_page, { :size => false })
55
+ end
56
+
57
+ should 'have no dimensions if size is false' do
58
+ assert_select("img[width]", false)
59
+ assert_select("img[height]", false)
60
+ end
61
+
62
+ end
63
+
64
+ context 'with args' do
65
+
66
+ setup do
67
+ render :text => image_asset(current_page, {
68
+ :dimensions => '50x50#',
69
+ :style => 'border: 1px solid;',
70
+ :class => "some-selector",
71
+ :title => current_page.title,
72
+ :link => 'http://yahoo.com',
73
+ :video => true,
74
+ :video_dimensions => '1x1',
75
+ :encode => :jpg })
76
+ end
77
+
78
+ should 'output an img tag' do
79
+ assert_select("img")
80
+ end
81
+
82
+ should 'have an alt attribute' do
83
+ assert_select("img[alt]")
84
+ end
85
+
86
+ should 'not contain invalid attributes' do
87
+ assert_select("img[dimensions]", false)
88
+ assert_select("img[encode]", false)
89
+ assert_select("img[object]", false)
90
+ assert_select("img[video_dimensions]", false)
91
+ end
92
+
93
+ should 'have a title attribute if one is defined' do
94
+ assert_select("img[title]")
95
+ end
96
+
97
+ should 'have a style attribute if one is defined' do
98
+ assert_select("img[style*=border]")
99
+ end
100
+
101
+ should 'have a class attribute if one is defined' do
102
+ assert_select("img[class*=some-selector]")
103
+ end
104
+
105
+ should 'have width and height attributes if dimensions are defined' do
106
+ assert_select("img[width=50]")
107
+ assert_select("img[height=50]")
108
+ end
109
+
110
+ should 'be wrapped in a link tag if one is defined' do
111
+ assert_select("a[href=http://yahoo.com]")
112
+ end
113
+
114
+ should 'output facebox specific attrs if :video is true' do
115
+ assert_select("a[rel=facebox]")
116
+ assert_select("a[rev=iframe|1x1]")
117
+ end
118
+
119
+ should 'be encoded properly if an encoding is defined' do
120
+ assert_select("img[src*=jpg]")
121
+ end
122
+
123
+ end
124
+
125
+ end
126
+
127
+ end
128
+ end
metadata ADDED
@@ -0,0 +1,395 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ample_assets
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Taylor C. MacDonald
9
+ - Bobby Uhlenbrock
10
+ - Ryan Merrill
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2012-05-16 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: &70154091319360 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: *70154091319360
27
+ - !ruby/object:Gem::Dependency
28
+ name: dragonfly
29
+ requirement: &70154091318840 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 0.9.11
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: *70154091318840
38
+ - !ruby/object:Gem::Dependency
39
+ name: jquery-rails
40
+ requirement: &70154091318440 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: *70154091318440
49
+ - !ruby/object:Gem::Dependency
50
+ name: rack-cache
51
+ requirement: &70154091317940 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: *70154091317940
60
+ - !ruby/object:Gem::Dependency
61
+ name: sass-rails
62
+ requirement: &70154091317440 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ~>
66
+ - !ruby/object:Gem::Version
67
+ version: 3.2.3
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: *70154091317440
71
+ - !ruby/object:Gem::Dependency
72
+ name: coffee-rails
73
+ requirement: &70154091316840 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 3.2.1
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: *70154091316840
82
+ - !ruby/object:Gem::Dependency
83
+ name: uglifier
84
+ requirement: &70154091316340 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: *70154091316340
93
+ - !ruby/object:Gem::Dependency
94
+ name: therubyracer
95
+ requirement: &70154091315920 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ type: :runtime
102
+ prerelease: false
103
+ version_requirements: *70154091315920
104
+ - !ruby/object:Gem::Dependency
105
+ name: will_paginate
106
+ requirement: &70154091315300 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: *70154091315300
115
+ - !ruby/object:Gem::Dependency
116
+ name: acts_as_indexed
117
+ requirement: &70154091314740 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ! '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: *70154091314740
126
+ - !ruby/object:Gem::Dependency
127
+ name: coffee_cup
128
+ requirement: &70154091313960 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: *70154091313960
137
+ - !ruby/object:Gem::Dependency
138
+ name: sqlite3
139
+ requirement: &70154091309900 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ! '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: *70154091309900
148
+ - !ruby/object:Gem::Dependency
149
+ name: turn
150
+ requirement: &70154091309400 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ~>
154
+ - !ruby/object:Gem::Version
155
+ version: 0.9.3
156
+ type: :development
157
+ prerelease: false
158
+ version_requirements: *70154091309400
159
+ - !ruby/object:Gem::Dependency
160
+ name: shoulda
161
+ requirement: &70154091308900 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: 3.0.0.beta
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: *70154091308900
170
+ - !ruby/object:Gem::Dependency
171
+ name: capybara
172
+ requirement: &70154091976440 !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ type: :development
179
+ prerelease: false
180
+ version_requirements: *70154091976440
181
+ - !ruby/object:Gem::Dependency
182
+ name: launchy
183
+ requirement: &70154091980540 !ruby/object:Gem::Requirement
184
+ none: false
185
+ requirements:
186
+ - - ! '>='
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: *70154091980540
192
+ description:
193
+ email:
194
+ - developers@helloample.com
195
+ executables: []
196
+ extensions: []
197
+ extra_rdoc_files: []
198
+ files:
199
+ - app/assets/images/ample_assets/bg-noise.png
200
+ - app/assets/images/ample_assets/btn-next.png
201
+ - app/assets/images/ample_assets/btn-prev.png
202
+ - app/assets/images/ample_assets/btn-select-files.png
203
+ - app/assets/images/ample_assets/cancel.png
204
+ - app/assets/images/ample_assets/closelabel.png
205
+ - app/assets/images/ample_assets/collapse.png
206
+ - app/assets/images/ample_assets/gravity.png
207
+ - app/assets/images/ample_assets/icon_other.gif
208
+ - app/assets/images/ample_assets/icon_pdf.gif
209
+ - app/assets/images/ample_assets/icon_swf.gif
210
+ - app/assets/images/ample_assets/loading.gif
211
+ - app/assets/images/ample_assets/play.png
212
+ - app/assets/images/ample_assets/prev-next.png
213
+ - app/assets/images/ample_assets/reload.png
214
+ - app/assets/images/ample_assets/remove.png
215
+ - app/assets/javascripts/ample_assets/application.js
216
+ - app/assets/javascripts/ample_assets/classes/ample_assets_gravity.js.coffee
217
+ - app/assets/javascripts/ample_assets/classes/ample_assets_toolbar.js.coffee
218
+ - app/assets/javascripts/ample_assets/classes/ample_assets_uploadify.js.coffee
219
+ - app/assets/javascripts/ample_assets/files.js.coffee
220
+ - app/assets/javascripts/ample_assets.js
221
+ - app/assets/stylesheets/ample_assets/application.css
222
+ - app/assets/stylesheets/ample_assets/bourbon/css3/_border-radius.scss
223
+ - app/assets/stylesheets/ample_assets/bourbon/css3/_box-shadow.scss
224
+ - app/assets/stylesheets/ample_assets/custom_mixins.scss
225
+ - app/assets/stylesheets/ample_assets/facebox.css
226
+ - app/assets/stylesheets/ample_assets/files.css.scss
227
+ - app/assets/stylesheets/ample_assets.css
228
+ - app/assets/swf/ample_assets/expressInstall.swf
229
+ - app/assets/swf/ample_assets/uploadify.swf
230
+ - app/controllers/ample_assets/application_controller.rb
231
+ - app/controllers/ample_assets/files_controller.rb
232
+ - app/helpers/ample_assets/application_helper.rb
233
+ - app/models/ample_assets/file.rb
234
+ - app/views/ample_assets/files/_drop.html.erb
235
+ - app/views/ample_assets/files/_file.html.erb
236
+ - app/views/ample_assets/files/_file.js.erb
237
+ - app/views/ample_assets/files/index.html.erb
238
+ - app/views/ample_assets/files/new.html.erb
239
+ - app/views/ample_assets/files/recent.html.erb
240
+ - app/views/ample_assets/files/show.html.erb
241
+ - app/views/layouts/ample_assets/application.html.erb
242
+ - config/routes.rb
243
+ - lib/ample_assets/configuration.rb
244
+ - lib/ample_assets/custom_processor.rb
245
+ - lib/ample_assets/devise_constraint.rb
246
+ - lib/ample_assets/engine.rb
247
+ - lib/ample_assets/form_builder.rb
248
+ - lib/ample_assets/form_helper.rb
249
+ - lib/ample_assets/plugin_methods.rb
250
+ - lib/ample_assets/version.rb
251
+ - lib/ample_assets/view_helper.rb
252
+ - lib/ample_assets.rb
253
+ - lib/generators/ample_assets/install_generator.rb
254
+ - lib/generators/ample_assets/templates/migration.rb
255
+ - lib/generators/ample_assets/utils.rb
256
+ - MIT-LICENSE
257
+ - Rakefile
258
+ - README.textile
259
+ - test/dummy/app/assets/images/rails.png
260
+ - test/dummy/app/assets/javascripts/application.js
261
+ - test/dummy/app/assets/sample.pdf
262
+ - test/dummy/app/assets/stylesheets/application.css
263
+ - test/dummy/app/controllers/application_controller.rb
264
+ - test/dummy/app/controllers/public/pages_controller.rb
265
+ - test/dummy/app/controllers/public_controller.rb
266
+ - test/dummy/app/helpers/application_helper.rb
267
+ - test/dummy/app/models/page.rb
268
+ - test/dummy/app/views/layouts/application.html.erb
269
+ - test/dummy/app/views/public/index.html.erb
270
+ - test/dummy/app/views/public/pages/_form.html.erb
271
+ - test/dummy/app/views/public/pages/edit.html.erb
272
+ - test/dummy/app/views/public/pages/index.html.erb
273
+ - test/dummy/app/views/public/pages/new.html.erb
274
+ - test/dummy/app/views/public/pages/show.html.erb
275
+ - test/dummy/config/application.rb
276
+ - test/dummy/config/boot.rb
277
+ - test/dummy/config/database.yml
278
+ - test/dummy/config/environment.rb
279
+ - test/dummy/config/environments/development.rb
280
+ - test/dummy/config/environments/production.rb
281
+ - test/dummy/config/environments/test.rb
282
+ - test/dummy/config/initializers/ample_assets.rb
283
+ - test/dummy/config/initializers/backtrace_silencers.rb
284
+ - test/dummy/config/initializers/inflections.rb
285
+ - test/dummy/config/initializers/mime_types.rb
286
+ - test/dummy/config/initializers/secret_token.rb
287
+ - test/dummy/config/initializers/session_store.rb
288
+ - test/dummy/config/initializers/wrap_parameters.rb
289
+ - test/dummy/config/locales/en.yml
290
+ - test/dummy/config/routes.rb
291
+ - test/dummy/config.ru
292
+ - test/dummy/db/migrate/20120105034123_create_pages.rb
293
+ - test/dummy/db/migrate/20120106192233_create_ample_assets_tables.rb
294
+ - test/dummy/db/schema.rb
295
+ - test/dummy/public/404.html
296
+ - test/dummy/public/422.html
297
+ - test/dummy/public/500.html
298
+ - test/dummy/public/favicon.ico
299
+ - test/dummy/Rakefile
300
+ - test/dummy/script/rails
301
+ - test/functional/ample_assets/files_controller_test.rb
302
+ - test/integration/ample_assets/admin_test.rb
303
+ - test/integration/ample_assets/public_test.rb
304
+ - test/integration_test_helper.rb
305
+ - test/test_helper.rb
306
+ - test/unit/ample_assets/configuration_test.rb
307
+ - test/unit/ample_assets/file_test.rb
308
+ - test/unit/ample_assets/plugin_methods_test.rb
309
+ - test/unit/helpers/ample_assets/form_builder_test.rb
310
+ - test/unit/helpers/ample_assets/form_helper_test.rb
311
+ - test/unit/helpers/ample_assets/view_helper_test.rb
312
+ homepage: http://helloample.com
313
+ licenses: []
314
+ post_install_message:
315
+ rdoc_options: []
316
+ require_paths:
317
+ - lib
318
+ required_ruby_version: !ruby/object:Gem::Requirement
319
+ none: false
320
+ requirements:
321
+ - - ! '>='
322
+ - !ruby/object:Gem::Version
323
+ version: '0'
324
+ segments:
325
+ - 0
326
+ hash: 679894056682084323
327
+ required_rubygems_version: !ruby/object:Gem::Requirement
328
+ none: false
329
+ requirements:
330
+ - - ! '>='
331
+ - !ruby/object:Gem::Version
332
+ version: '0'
333
+ segments:
334
+ - 0
335
+ hash: 679894056682084323
336
+ requirements: []
337
+ rubyforge_project:
338
+ rubygems_version: 1.8.10
339
+ signing_key:
340
+ specification_version: 3
341
+ summary: Drag and Drop Asset Management
342
+ test_files:
343
+ - test/dummy/app/assets/images/rails.png
344
+ - test/dummy/app/assets/javascripts/application.js
345
+ - test/dummy/app/assets/sample.pdf
346
+ - test/dummy/app/assets/stylesheets/application.css
347
+ - test/dummy/app/controllers/application_controller.rb
348
+ - test/dummy/app/controllers/public/pages_controller.rb
349
+ - test/dummy/app/controllers/public_controller.rb
350
+ - test/dummy/app/helpers/application_helper.rb
351
+ - test/dummy/app/models/page.rb
352
+ - test/dummy/app/views/layouts/application.html.erb
353
+ - test/dummy/app/views/public/index.html.erb
354
+ - test/dummy/app/views/public/pages/_form.html.erb
355
+ - test/dummy/app/views/public/pages/edit.html.erb
356
+ - test/dummy/app/views/public/pages/index.html.erb
357
+ - test/dummy/app/views/public/pages/new.html.erb
358
+ - test/dummy/app/views/public/pages/show.html.erb
359
+ - test/dummy/config/application.rb
360
+ - test/dummy/config/boot.rb
361
+ - test/dummy/config/database.yml
362
+ - test/dummy/config/environment.rb
363
+ - test/dummy/config/environments/development.rb
364
+ - test/dummy/config/environments/production.rb
365
+ - test/dummy/config/environments/test.rb
366
+ - test/dummy/config/initializers/ample_assets.rb
367
+ - test/dummy/config/initializers/backtrace_silencers.rb
368
+ - test/dummy/config/initializers/inflections.rb
369
+ - test/dummy/config/initializers/mime_types.rb
370
+ - test/dummy/config/initializers/secret_token.rb
371
+ - test/dummy/config/initializers/session_store.rb
372
+ - test/dummy/config/initializers/wrap_parameters.rb
373
+ - test/dummy/config/locales/en.yml
374
+ - test/dummy/config/routes.rb
375
+ - test/dummy/config.ru
376
+ - test/dummy/db/migrate/20120105034123_create_pages.rb
377
+ - test/dummy/db/migrate/20120106192233_create_ample_assets_tables.rb
378
+ - test/dummy/db/schema.rb
379
+ - test/dummy/public/404.html
380
+ - test/dummy/public/422.html
381
+ - test/dummy/public/500.html
382
+ - test/dummy/public/favicon.ico
383
+ - test/dummy/Rakefile
384
+ - test/dummy/script/rails
385
+ - test/functional/ample_assets/files_controller_test.rb
386
+ - test/integration/ample_assets/admin_test.rb
387
+ - test/integration/ample_assets/public_test.rb
388
+ - test/integration_test_helper.rb
389
+ - test/test_helper.rb
390
+ - test/unit/ample_assets/configuration_test.rb
391
+ - test/unit/ample_assets/file_test.rb
392
+ - test/unit/ample_assets/plugin_methods_test.rb
393
+ - test/unit/helpers/ample_assets/form_builder_test.rb
394
+ - test/unit/helpers/ample_assets/form_helper_test.rb
395
+ - test/unit/helpers/ample_assets/view_helper_test.rb