tessa 0.9.0 → 1.0.0.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.babelrc +8 -0
  3. data/.circleci/config.yml +42 -0
  4. data/.eslintrc +19 -0
  5. data/.gitignore +5 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +12 -4
  8. data/README.md +4 -4
  9. data/Rakefile +8 -0
  10. data/app/assets/javascripts/.keep +0 -0
  11. data/app/assets/javascripts/tessa.esm.js +672 -0
  12. data/app/assets/javascripts/tessa.js +662 -0
  13. data/app/javascript/activestorage/file_checksum.js +53 -0
  14. data/app/javascript/tessa/index.js.coffee +183 -0
  15. data/config/routes.rb +3 -0
  16. data/lib/tessa/active_storage/asset_wrapper.rb +24 -0
  17. data/lib/tessa/engine.rb +5 -0
  18. data/lib/tessa/model/dynamic_extensions.rb +151 -0
  19. data/lib/tessa/model.rb +35 -36
  20. data/lib/tessa/rack_upload_proxy.rb +18 -10
  21. data/lib/tessa/upload/uploads_file.rb +1 -4
  22. data/lib/tessa/version.rb +1 -1
  23. data/lib/tessa/view_helpers.rb +4 -2
  24. data/lib/tessa.rb +30 -0
  25. data/package.json +43 -0
  26. data/rollup.config.js +44 -0
  27. data/spec/dummy/.gitignore +27 -0
  28. data/spec/dummy/README.md +24 -0
  29. data/spec/dummy/Rakefile +6 -0
  30. data/spec/dummy/app/assets/config/manifest.js +2 -0
  31. data/spec/dummy/app/assets/images/.keep +0 -0
  32. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  33. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  34. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  35. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  36. data/spec/dummy/app/jobs/application_job.rb +2 -0
  37. data/spec/dummy/app/models/concerns/.keep +0 -0
  38. data/spec/dummy/app/models/multiple_asset_model.rb +8 -0
  39. data/spec/dummy/app/models/single_asset_model.rb +5 -0
  40. data/spec/dummy/app/models/single_asset_model_form.rb +25 -0
  41. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  42. data/spec/dummy/bin/bundle +3 -0
  43. data/spec/dummy/bin/rails +4 -0
  44. data/spec/dummy/bin/rake +4 -0
  45. data/spec/dummy/bin/setup +28 -0
  46. data/spec/dummy/bin/update +28 -0
  47. data/spec/dummy/bin/yarn +11 -0
  48. data/spec/dummy/config/application.rb +33 -0
  49. data/spec/dummy/config/boot.rb +3 -0
  50. data/spec/dummy/config/credentials.yml.enc +1 -0
  51. data/spec/dummy/config/database.yml +25 -0
  52. data/spec/dummy/config/environment.rb +5 -0
  53. data/spec/dummy/config/environments/development.rb +47 -0
  54. data/spec/dummy/config/environments/production.rb +76 -0
  55. data/spec/dummy/config/environments/test.rb +43 -0
  56. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  57. data/spec/dummy/config/initializers/assets.rb +14 -0
  58. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  59. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  60. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  61. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  62. data/spec/dummy/config/initializers/inflections.rb +16 -0
  63. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  64. data/spec/dummy/config/initializers/wrap_parameters.rb +9 -0
  65. data/spec/dummy/config/locales/en.yml +33 -0
  66. data/spec/dummy/config/puma.rb +37 -0
  67. data/spec/dummy/config/routes.rb +3 -0
  68. data/spec/dummy/config/storage.yml +3 -0
  69. data/spec/dummy/config.ru +5 -0
  70. data/spec/dummy/db/migrate/20220606221557_create_active_storage_tables.active_storage.rb +27 -0
  71. data/spec/dummy/db/migrate/20220606221900_create_single_asset_models.rb +10 -0
  72. data/spec/dummy/db/migrate/20220607191519_create_multiple_asset_models.rb +10 -0
  73. data/spec/dummy/db/schema.rb +50 -0
  74. data/spec/dummy/lib/assets/.keep +0 -0
  75. data/spec/dummy/lib/tasks/.keep +0 -0
  76. data/spec/dummy/log/.keep +0 -0
  77. data/spec/dummy/package.json +5 -0
  78. data/spec/dummy/public/404.html +67 -0
  79. data/spec/dummy/public/422.html +67 -0
  80. data/spec/dummy/public/500.html +66 -0
  81. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  82. data/spec/dummy/public/apple-touch-icon.png +0 -0
  83. data/spec/dummy/public/favicon.ico +0 -0
  84. data/spec/dummy/public/robots.txt +1 -0
  85. data/spec/dummy/tmp/.keep +0 -0
  86. data/spec/dummy/vendor/.keep +0 -0
  87. data/spec/rails_helper.rb +14 -0
  88. data/spec/spec_helper.rb +6 -0
  89. data/spec/tessa/model_spec.rb +195 -244
  90. data/spec/tessa/rack_upload_proxy_spec.rb +23 -81
  91. data/spec/tessa/upload/uploads_file_spec.rb +12 -8
  92. data/tessa.gemspec +10 -2
  93. data/yarn.lock +1661 -0
  94. metadata +196 -18
  95. data/circle.yml +0 -3
@@ -43,9 +43,11 @@ RSpec.describe Tessa::Upload::UploadsFile do
43
43
  }
44
44
 
45
45
  it "calls the upload_url with upload_method HTTP method" do
46
- file = __FILE__
47
- expect(connection).to receive(:post).with("http://upload/path?arg=1", hash_including(:file)).and_call_original
48
- expect(task.call(file)).to be_truthy
46
+ file = Tempfile.new("test")
47
+ file.write "hello there"
48
+ file.close
49
+ expect(connection).to receive(:post).with("http://upload/path?arg=1", "hello there").and_call_original
50
+ expect(task.call(file.path)).to be_truthy
49
51
  end
50
52
  end
51
53
 
@@ -59,19 +61,21 @@ RSpec.describe Tessa::Upload::UploadsFile do
59
61
  }
60
62
 
61
63
  it "calls the upload_url with upload_method HTTP method" do
62
- file = __FILE__
63
- expect(connection).to receive(:post).with("http://upload/path?arg=1", hash_including(:file)).and_call_original
64
- expect(task.call(file)).to be_falsey
64
+ file = Tempfile.new("test")
65
+ file.write "hello there"
66
+ file.close
67
+ expect(connection).to receive(:post).with("http://upload/path?arg=1", "hello there").and_call_original
68
+ expect(task.call(file.path)).to be_falsey
65
69
  end
66
70
  end
67
71
  end
68
72
 
69
73
  describe ".connection_factory" do
70
- it "returns a new Faraday::Connection with the default adapter and url_encoded and multipart" do
74
+ it "returns a new Faraday::Connection with the default adapter" do
71
75
  obj = described_class.connection_factory
72
76
  expect(obj).to be_a(Faraday::Connection)
73
77
  expect(obj.builder.handlers)
74
- .to eq([Faraday::Request::Multipart, Faraday::Request::UrlEncoded, Faraday::Adapter::NetHttp])
78
+ .to eq([Faraday::Adapter::NetHttp])
75
79
  end
76
80
  end
77
81
 
data/tessa.gemspec CHANGED
@@ -13,7 +13,12 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/watermarkchurch/tessa-client"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0")
16
+ spec.required_ruby_version = '~> 2.3'
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").push(
19
+ 'app/assets/javascripts/tessa.js',
20
+ 'app/assets/javascripts/tessa.esm.js',
21
+ )
17
22
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
23
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
24
  spec.require_paths = ["lib"]
@@ -21,7 +26,10 @@ Gem::Specification.new do |spec|
21
26
  spec.add_dependency "faraday", "<1"
22
27
  spec.add_dependency "virtus", "~>1.0.4"
23
28
 
24
- spec.add_development_dependency "bundler", "~> 1.7"
25
29
  spec.add_development_dependency "rake", "~> 10.0"
26
30
  spec.add_development_dependency "rspec", "~> 3.1"
31
+ spec.add_development_dependency "rspec_junit_formatter", "~> 0.4"
32
+ spec.add_development_dependency "simplecov", "~> 0.15.1"
33
+ spec.add_development_dependency "rails", "~> 5"
34
+ spec.add_development_dependency 'sqlite3', '~> 1.3.6'
27
35
  end