kimurai 1.3.2 → 2.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -0
  3. data/CHANGELOG.md +29 -0
  4. data/Gemfile +2 -2
  5. data/README.md +478 -649
  6. data/Rakefile +6 -6
  7. data/bin/console +3 -4
  8. data/exe/kimurai +0 -1
  9. data/kimurai.gemspec +38 -37
  10. data/lib/kimurai/base/saver.rb +15 -19
  11. data/lib/kimurai/base/storage.rb +1 -1
  12. data/lib/kimurai/base.rb +42 -38
  13. data/lib/kimurai/base_helper.rb +5 -4
  14. data/lib/kimurai/browser_builder/mechanize_builder.rb +44 -38
  15. data/lib/kimurai/browser_builder/selenium_chrome_builder.rb +63 -51
  16. data/lib/kimurai/browser_builder/selenium_firefox_builder.rb +61 -55
  17. data/lib/kimurai/browser_builder.rb +7 -31
  18. data/lib/kimurai/capybara_configuration.rb +1 -1
  19. data/lib/kimurai/capybara_ext/driver/base.rb +50 -46
  20. data/lib/kimurai/capybara_ext/mechanize/driver.rb +51 -50
  21. data/lib/kimurai/capybara_ext/selenium/driver.rb +33 -29
  22. data/lib/kimurai/capybara_ext/session/config.rb +1 -1
  23. data/lib/kimurai/capybara_ext/session.rb +40 -38
  24. data/lib/kimurai/cli/generator.rb +15 -15
  25. data/lib/kimurai/cli.rb +52 -85
  26. data/lib/kimurai/core_ext/array.rb +2 -2
  27. data/lib/kimurai/core_ext/hash.rb +1 -1
  28. data/lib/kimurai/core_ext/numeric.rb +4 -4
  29. data/lib/kimurai/pipeline.rb +2 -1
  30. data/lib/kimurai/runner.rb +6 -6
  31. data/lib/kimurai/template/Gemfile +2 -2
  32. data/lib/kimurai/template/config/boot.rb +4 -4
  33. data/lib/kimurai/template/config/schedule.rb +15 -15
  34. data/lib/kimurai/template/spiders/application_spider.rb +14 -14
  35. data/lib/kimurai/version.rb +1 -1
  36. data/lib/kimurai.rb +7 -3
  37. metadata +58 -65
  38. data/.travis.yml +0 -5
  39. data/lib/kimurai/automation/deploy.yml +0 -54
  40. data/lib/kimurai/automation/setup/chromium_chromedriver.yml +0 -26
  41. data/lib/kimurai/automation/setup/firefox_geckodriver.yml +0 -20
  42. data/lib/kimurai/automation/setup/phantomjs.yml +0 -33
  43. data/lib/kimurai/automation/setup/ruby_environment.yml +0 -124
  44. data/lib/kimurai/automation/setup.yml +0 -44
  45. data/lib/kimurai/browser_builder/poltergeist_phantomjs_builder.rb +0 -171
  46. data/lib/kimurai/capybara_ext/poltergeist/driver.rb +0 -13
  47. data/lib/kimurai/cli/ansible_command_builder.rb +0 -71
  48. data/lib/kimurai/template/config/automation.yml +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71ac47a69324914eaa098231d72b4af453e9e222d4fc7b19f0b2ef88449c7c18
4
- data.tar.gz: e5ac63a13897f92118b3bbe33bc55f8f46e4970333ffeedf88c3f64e2df791e8
3
+ metadata.gz: 35de9c5363f3ae93238061cbd7f7e454f6dec350bae9dd6558a3598cfe3b67ae
4
+ data.tar.gz: 89eb1f8e16c4c4b5fe0528ddaf4ce525a139d87c83d495c50845bcf720d3c22a
5
5
  SHA512:
6
- metadata.gz: 11555b24a707d857c37de7952654cc2d5cdc5d5c188cd15aa364b02126e3abeff71b65a86ddfae276fc8d2136f7b2e0b3b25afe7b798e9af1674bfb0b6796c03
7
- data.tar.gz: '094fb4c7cac6a326c76758c07e3ca9e09ab36d68e8da3d80465493c93a6fa5a664e332ec55ea3d5b05f1d52dd3327bd732c43149db95b04e59bf2fe85f36ec15'
6
+ metadata.gz: fe1c3e4d3ef52507881fd9ea721f89e2970a14bfa8550336ca7c0dd0f8857485b623bdb536b23eb5b9eb79ff57568bb42f23bb9b92e7111cbc92103eb53aa1f4
7
+ data.tar.gz: 893726a773f5b5184dc91084f50e5c2f520ee7bafd7fbb3e9fe17c43daf5f76d6c8d414f0e3cd9e7acee06ae4211042c7f2a5ee9a837533f7ff2769cc79037b5
data/.rubocop.yml ADDED
@@ -0,0 +1,9 @@
1
+ AllCops:
2
+ TargetRubyVersion: 3.1.0
3
+
4
+ Style/TrivialAccessors:
5
+ Enabled: false
6
+ Style/RescueModifier:
7
+ Enabled: false
8
+ Style/FrozenStringLiteralComment:
9
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,4 +1,33 @@
1
1
  # CHANGELOG
2
+ ## 2.0.0
3
+ ### Breaking changes 2.0.0
4
+ * **Minimum Ruby version is now 3.1+** (due to Ruby 3.0+ keyword argument changes and Ruby 3.4 compatibility requirements)
5
+ * **Removed poltergeist_phantomjs driver** - PhantomJS is no longer maintained. Use `:selenium_chrome`, `:selenium_firefox`, or `:mechanize` engines instead
6
+ * **Removed Ansible automation/deployment feature** - Removed all Ansible playbooks and CLI commands for server setup and deployment
7
+
8
+ ### New
9
+ * **Selenium Manager support** - Selenium 4.6+ automatically downloads and manages webdrivers. No need to manually install chromedriver/geckodriver
10
+
11
+ ### Fixes
12
+ * **Ruby 3.4 compatibility:** Fixed deprecated `Dir.exists?` and `File.exists?` methods (changed to `Dir.exist?` and `File.exist?`)
13
+ * **Ruby 3.4 compatibility:** Added bundled gem dependencies (`mutex_m`, `nkf`, `reline`) that were extracted from Ruby stdlib
14
+ * **Ruby 3.0+ compatibility:** Fixed keyword argument splatting in `Saver` initialization
15
+ * **Ruby 3.0+ compatibility:** Replaced deprecated `URI.escape` with `URI::DEFAULT_PARSER.escape`
16
+ * **Selenium 4.x compatibility:** Updated Chrome options initialization to match new Selenium WebDriver API
17
+ * Updated capybara-mechanize dependency with Ruby 3.4 bundled gems (`mutex_m`, `logger`, `base64`, `nkf`, `reline`)
18
+
19
+ ### Improvements
20
+ * Simplified browser restart logic by removing poltergeist-specific code
21
+ * Updated project templates and documentation to reflect removed poltergeist driver
22
+
23
+ ## 1.4.0
24
+ ### New
25
+ * Add `encoding` config option (see [All available config options](https://github.com/vifreefly/kimuraframework#all-available-config-options))
26
+ * Validate url before processing a request (Base#request_to)
27
+
28
+ ### Fixes
29
+ * Fix console command bug (see [issue 21](https://github.com/vifreefly/kimuraframework/issues/21))
30
+
2
31
  ## 1.3.2
3
32
  ### Fixes
4
33
  * In the project template, set Ruby version as >= 2.5 (before was hard-coded to 2.5.1)
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in kimurai.gemspec
6
6
  gemspec