vue_uk 1.0.0

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 (40) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +21 -0
  3. data/.github/workflows/release.yml +19 -0
  4. data/.gitignore +18 -0
  5. data/.ruby-version +1 -0
  6. data/CHANGELOG.md +10 -0
  7. data/COMM-LICENSE +22 -0
  8. data/Gemfile +3 -0
  9. data/LICENSE +617 -0
  10. data/README.md +141 -0
  11. data/Rakefile +35 -0
  12. data/lib/vue_uk/cinema.rb +115 -0
  13. data/lib/vue_uk/internal/api_response.rb +51 -0
  14. data/lib/vue_uk/internal/http.rb +42 -0
  15. data/lib/vue_uk/internal/parser/api/showtime.rb +73 -0
  16. data/lib/vue_uk/internal/title_sanitizer.rb +31 -0
  17. data/lib/vue_uk/internal/website.rb +22 -0
  18. data/lib/vue_uk/performance.rb +70 -0
  19. data/lib/vue_uk/version.rb +6 -0
  20. data/lib/vue_uk.rb +19 -0
  21. data/test/fixtures/api/cinemas.json +42 -0
  22. data/test/fixtures/api/films-10051.json +103 -0
  23. data/test/fixtures/website/cinema-10051.html +8 -0
  24. data/test/lib/vue_uk/cinema_test.rb +110 -0
  25. data/test/lib/vue_uk/internal/api_response_test.rb +68 -0
  26. data/test/lib/vue_uk/internal/fixture_shape_test.rb +18 -0
  27. data/test/lib/vue_uk/internal/parser/api/showtime_test.rb +44 -0
  28. data/test/lib/vue_uk/internal/title_sanitizer_test.rb +30 -0
  29. data/test/lib/vue_uk/internal/website_test.rb +22 -0
  30. data/test/lib/vue_uk/performance_test.rb +108 -0
  31. data/test/lib/vue_uk/version_test.rb +7 -0
  32. data/test/live/api_shape_test.rb +17 -0
  33. data/test/live/integration_test.rb +25 -0
  34. data/test/live/live_helper.rb +9 -0
  35. data/test/support/api_shapes.rb +38 -0
  36. data/test/support/fakes.rb +31 -0
  37. data/test/support/fixtures_helper.rb +21 -0
  38. data/test/test_helper.rb +20 -0
  39. data/vue_uk.gemspec +30 -0
  40. metadata +195 -0
@@ -0,0 +1,20 @@
1
+ require 'simplecov'
2
+ SimpleCov.start do
3
+ add_filter '/test/'
4
+ end
5
+
6
+ require 'minitest/autorun'
7
+ require 'minitest/mock'
8
+ require 'minitest/reporters'
9
+
10
+ Minitest::Reporters.use! [
11
+ Minitest::Reporters::DefaultReporter.new(color: true, slow_count: 5)
12
+ ]
13
+
14
+ require 'webmock/minitest'
15
+
16
+ require File.expand_path('../../lib/vue_uk.rb', __FILE__)
17
+
18
+ require_relative 'support/api_shapes'
19
+ require_relative 'support/fakes'
20
+ require_relative 'support/fixtures_helper'
data/vue_uk.gemspec ADDED
@@ -0,0 +1,30 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'vue_uk/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'vue_uk'
7
+ spec.version = VueUk::VERSION
8
+ spec.authors = ['Andy Croll']
9
+ spec.email = ['andy@goodscary.com']
10
+ spec.description = 'Pull movie & cinema information from the Vue cinemas website API'
11
+ spec.summary = "It's a scraper, but a nice one"
12
+ spec.homepage = 'https://github.com/andycroll/vue_uk'
13
+ spec.licenses = %w(AGPL MIT)
14
+
15
+ spec.required_ruby_version = '>= 3.4'
16
+
17
+ spec.files = `git ls-files`.split("\n")
18
+ spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_development_dependency 'bundler', '>= 2.0'
23
+ spec.add_development_dependency 'minitest-mock'
24
+ spec.add_development_dependency 'minitest-reporters'
25
+ spec.add_development_dependency 'rake'
26
+ spec.add_development_dependency 'simplecov', '< 1'
27
+ spec.add_development_dependency 'webmock'
28
+
29
+ spec.add_runtime_dependency 'cinebase', '~> 5.4'
30
+ end
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vue_uk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Croll
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bundler
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: minitest-mock
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: minitest-reporters
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: simplecov
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '1'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: '1'
82
+ - !ruby/object:Gem::Dependency
83
+ name: webmock
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: cinebase
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.4'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '5.4'
110
+ description: Pull movie & cinema information from the Vue cinemas website API
111
+ email:
112
+ - andy@goodscary.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - ".github/workflows/ci.yml"
118
+ - ".github/workflows/release.yml"
119
+ - ".gitignore"
120
+ - ".ruby-version"
121
+ - CHANGELOG.md
122
+ - COMM-LICENSE
123
+ - Gemfile
124
+ - LICENSE
125
+ - README.md
126
+ - Rakefile
127
+ - lib/vue_uk.rb
128
+ - lib/vue_uk/cinema.rb
129
+ - lib/vue_uk/internal/api_response.rb
130
+ - lib/vue_uk/internal/http.rb
131
+ - lib/vue_uk/internal/parser/api/showtime.rb
132
+ - lib/vue_uk/internal/title_sanitizer.rb
133
+ - lib/vue_uk/internal/website.rb
134
+ - lib/vue_uk/performance.rb
135
+ - lib/vue_uk/version.rb
136
+ - test/fixtures/api/cinemas.json
137
+ - test/fixtures/api/films-10051.json
138
+ - test/fixtures/website/cinema-10051.html
139
+ - test/lib/vue_uk/cinema_test.rb
140
+ - test/lib/vue_uk/internal/api_response_test.rb
141
+ - test/lib/vue_uk/internal/fixture_shape_test.rb
142
+ - test/lib/vue_uk/internal/parser/api/showtime_test.rb
143
+ - test/lib/vue_uk/internal/title_sanitizer_test.rb
144
+ - test/lib/vue_uk/internal/website_test.rb
145
+ - test/lib/vue_uk/performance_test.rb
146
+ - test/lib/vue_uk/version_test.rb
147
+ - test/live/api_shape_test.rb
148
+ - test/live/integration_test.rb
149
+ - test/live/live_helper.rb
150
+ - test/support/api_shapes.rb
151
+ - test/support/fakes.rb
152
+ - test/support/fixtures_helper.rb
153
+ - test/test_helper.rb
154
+ - vue_uk.gemspec
155
+ homepage: https://github.com/andycroll/vue_uk
156
+ licenses:
157
+ - AGPL
158
+ - MIT
159
+ metadata: {}
160
+ rdoc_options: []
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '3.4'
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements: []
174
+ rubygems_version: 4.0.20
175
+ specification_version: 4
176
+ summary: It's a scraper, but a nice one
177
+ test_files:
178
+ - test/fixtures/api/cinemas.json
179
+ - test/fixtures/api/films-10051.json
180
+ - test/fixtures/website/cinema-10051.html
181
+ - test/lib/vue_uk/cinema_test.rb
182
+ - test/lib/vue_uk/internal/api_response_test.rb
183
+ - test/lib/vue_uk/internal/fixture_shape_test.rb
184
+ - test/lib/vue_uk/internal/parser/api/showtime_test.rb
185
+ - test/lib/vue_uk/internal/title_sanitizer_test.rb
186
+ - test/lib/vue_uk/internal/website_test.rb
187
+ - test/lib/vue_uk/performance_test.rb
188
+ - test/lib/vue_uk/version_test.rb
189
+ - test/live/api_shape_test.rb
190
+ - test/live/integration_test.rb
191
+ - test/live/live_helper.rb
192
+ - test/support/api_shapes.rb
193
+ - test/support/fakes.rb
194
+ - test/support/fixtures_helper.rb
195
+ - test/test_helper.rb