paginae 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5489cc65abb4bbf81e18b67274897811fdfbae23f9e220cb6de2a822af1fbf3
4
- data.tar.gz: 9d985e2c275b1ec7f5ebf02d784a262f0dcb22523430bc376b8d1328344e865d
3
+ metadata.gz: cf13427901d10593ae114f95ecbb190cf098759ed269eb5712f8b5dbf15258d4
4
+ data.tar.gz: 4b57db4d1e5056d1bcae3b48fc5ef992bfd2d09a8c545003686f752176c638f4
5
5
  SHA512:
6
- metadata.gz: 1e09580ef0c0be66391fe2d918080d88dce4475e3867cc9e9c8e88785047b42fda37ff325ee74a23bf9c63f67d88496a75d285f1e3bd4556b8d50b3e8f7ad2b6
7
- data.tar.gz: d8b73d2dbedcfd06d17ac7c685d1f7ed9ebeaca417327effa22e54dab8d1a89369224b09bfd37fac4edc91a96734f2b3ec97251cc31e1f567779c0636c79920e
6
+ metadata.gz: 72ad5c55f080e77c1a9bbe5b86f29ee8b8ecf43df7006ab118e05e09d34e95262bb7c22e94db97cb4e845622626d1664da3fe9738455ec7115e01919d8549bb6
7
+ data.tar.gz: 4422151cc45d019dcc993da08a581952c5608c1dfddacb25d1d4bdeb16fc0b407ed034b5b432fa81977e812808093826c9cf9ead791453ece35b5f47ca754db4
data/.rubocop_todo.yml CHANGED
@@ -15,12 +15,12 @@ Metrics/AbcSize:
15
15
  # Offense count: 1
16
16
  # Configuration parameters: IgnoredMethods.
17
17
  Metrics/CyclomaticComplexity:
18
- Max: 22
18
+ Max: 27
19
19
 
20
20
  # Offense count: 1
21
21
  # Configuration parameters: IgnoredMethods.
22
22
  Metrics/PerceivedComplexity:
23
- Max: 22
23
+ Max: 27
24
24
 
25
25
  Metrics/MethodLength:
26
26
  Exclude:
data/Gemfile CHANGED
@@ -4,8 +4,7 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- gem "minitest", "~> 5.0"
8
- gem "rake", "~> 13.0"
9
- gem "rubocop", "~> 1.21"
10
-
11
7
  gem "debug", "~> 1.5"
8
+ gem "minitest", "~> 5.15"
9
+ gem "rake", "~> 13.0"
10
+ gem "rubocop", "~> 1.29"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- paginae (0.1.0)
4
+ paginae (0.1.2)
5
5
  nokogiri (>= 1.13.4)
6
6
 
7
7
  GEM
@@ -15,11 +15,11 @@ GEM
15
15
  irb (1.4.1)
16
16
  reline (>= 0.3.0)
17
17
  minitest (5.15.0)
18
- nokogiri (1.13.4-arm64-darwin)
18
+ nokogiri (1.13.6-arm64-darwin)
19
19
  racc (~> 1.4)
20
- nokogiri (1.13.4-x86_64-darwin)
20
+ nokogiri (1.13.6-x86_64-darwin)
21
21
  racc (~> 1.4)
22
- nokogiri (1.13.4-x86_64-linux)
22
+ nokogiri (1.13.6-x86_64-linux)
23
23
  racc (~> 1.4)
24
24
  parallel (1.22.1)
25
25
  parser (3.1.2.0)
@@ -27,20 +27,20 @@ GEM
27
27
  racc (1.6.0)
28
28
  rainbow (3.1.1)
29
29
  rake (13.0.6)
30
- regexp_parser (2.3.1)
30
+ regexp_parser (2.4.0)
31
31
  reline (0.3.1)
32
32
  io-console (~> 0.5)
33
33
  rexml (3.2.5)
34
- rubocop (1.28.2)
34
+ rubocop (1.29.1)
35
35
  parallel (~> 1.10)
36
36
  parser (>= 3.1.0.0)
37
37
  rainbow (>= 2.2.2, < 4.0)
38
38
  regexp_parser (>= 1.8, < 3.0)
39
- rexml
39
+ rexml (>= 3.2.5, < 4.0)
40
40
  rubocop-ast (>= 1.17.0, < 2.0)
41
41
  ruby-progressbar (~> 1.7)
42
42
  unicode-display_width (>= 1.4.0, < 3.0)
43
- rubocop-ast (1.17.0)
43
+ rubocop-ast (1.18.0)
44
44
  parser (>= 3.1.1.0)
45
45
  ruby-progressbar (1.11.0)
46
46
  unicode-display_width (2.1.0)
@@ -52,10 +52,10 @@ PLATFORMS
52
52
 
53
53
  DEPENDENCIES
54
54
  debug (~> 1.5)
55
- minitest (~> 5.0)
55
+ minitest (~> 5.15)
56
56
  paginae!
57
57
  rake (~> 13.0)
58
- rubocop (~> 1.21)
58
+ rubocop (~> 1.29)
59
59
 
60
60
  BUNDLED WITH
61
61
  2.3.7
@@ -3,6 +3,15 @@
3
3
  module Paginae
4
4
  module AttributeInjector
5
5
  def self.extended(base)
6
+ base.class_eval do
7
+ def data
8
+ instance_variables
9
+ .reject { |var| var.to_s =~ /_node/ }
10
+ .to_h { |var| [var.to_s.sub("@", "").to_sym, instance_variable_get(var)] }
11
+ .compact
12
+ end
13
+ end
14
+
6
15
  class << base
7
16
  def attribute(name, **kwargs)
8
17
  __define_node(name, **kwargs)
@@ -71,7 +80,7 @@ module Paginae
71
80
  list = send("__#{name}_nodes")&.map do |node|
72
81
  case kwargs[:listed]
73
82
  when TrueClass
74
- node.text
83
+ node&.text&.strip
75
84
  when Symbol
76
85
  send(kwargs[:listed], node)
77
86
  when Proc
@@ -86,7 +95,9 @@ module Paginae
86
95
 
87
96
  def __define_text_reader(name)
88
97
  define_method name do
89
- send("__#{name}_node").text&.gsub(/\s+/, " ")&.strip
98
+ return instance_variable_get("@#{name}") if instance_variable_defined?("@#{name}")
99
+
100
+ instance_variable_set("@#{name}", send("__#{name}_node")&.text&.gsub(/\s+/, " ")&.strip)
90
101
  end
91
102
  end
92
103
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Paginae
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paginae
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Ezcurdia
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-29 00:00:00.000000000 Z
11
+ date: 2022-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -45,7 +45,6 @@ files:
45
45
  - lib/paginae/html_initializer_injector.rb
46
46
  - lib/paginae/version.rb
47
47
  - lib/paginae/web.rb
48
- - paginae.gemspec
49
48
  - sig/paginae.rbs
50
49
  homepage: https://github.com/3zcurdia/paginae
51
50
  licenses:
data/paginae.gemspec DELETED
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/paginae/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "paginae"
7
- spec.version = Paginae::VERSION
8
- spec.authors = ["Luis Ezcurdia"]
9
- spec.email = ["ing.ezcurdia@gmail.com"]
10
-
11
- spec.summary = "Simple page objects for Ruby"
12
- spec.description = "DSL for page objects in Ruby"
13
- spec.homepage = "https://github.com/3zcurdia/paginae"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.7.0"
16
-
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = spec.homepage
19
- spec.metadata["changelog_uri"] = "https://github.com/3zcurdia/paginae/blob/main/CHANGELOG.md"
20
-
21
- # Specify which files should be added to the gem when it is released.
22
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject do |f|
25
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
26
- end
27
- end
28
- spec.bindir = "exe"
29
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
- spec.require_paths = ["lib"]
31
-
32
- spec.add_dependency "nokogiri", ">= 1.13.4"
33
-
34
- spec.metadata["rubygems_mfa_required"] = "true"
35
- end