enumark 0.1.4 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b85bfbf07990e9f2a38461056ade65766019e3b322c7f4f64778d8627a1c6561
4
- data.tar.gz: 5c42a625adbfd33c04d8d5cec939fb7fc91355e127dfe6181328433a7c7f7dc6
3
+ metadata.gz: fa3a4cc7fa496b1863e6de8c004144d85d983e1b8886f252c909c1031b215f66
4
+ data.tar.gz: a462ef2d2b0ee84b4330e6daa2b528bbf1e643181715ff8bfb0030c2fabc6207
5
5
  SHA512:
6
- metadata.gz: ed84f93d9a0b17acce86b08cc50e64517c023c46e85e29661471088afafb54c749bd3e20da4d42aecd6f91ecb1cbe201ce8d2e95ee50aafdfd729a440f33ed34
7
- data.tar.gz: 9b679c8511689282e29c8c9b602d33510088d7ef00d1cba6bf88e60871d49c1ac02995de895dccff4a3385a5ae45729ecd2d85a353838c74ea1e096d7c922e62
6
+ metadata.gz: 0712afefeb2f3950b7763cb4d2246e39034a393bf8beb75bc88e10c22f6d45122fcf19f38cda647f4f3ec441705648b46d88fc729f3162cc2cfc50bb66bbd1a3
7
+ data.tar.gz: 482ce353a24835363a27a64b15e0d74e08e352ab57cc5e19b0008f3bfa0dabbeeed195b669f006d212bc76fcd8a604d8e16bb077d9e1fb85fcf012eb52ba348c
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.1.1
data/README.md CHANGED
@@ -27,6 +27,8 @@ enum = Enumark.new('/path/to/bookmark_dump_file')
27
27
 
28
28
  enum.each do |item|
29
29
  item.name
30
+ item.dump_date
31
+ item.add_date
30
32
  item.href
31
33
  item.host
32
34
  item.categories
@@ -62,6 +64,13 @@ dir.added # select items in last file but not in second to last
62
64
  dir.deleted # reject items in last file
63
65
  dir.uniq # union all items
64
66
  dir.static # select items appear in all files
67
+ dir.all # enumerator of all items in all files
68
+ ```
69
+
70
+ Set config
71
+
72
+ ```ruby
73
+ Enumark::Config.set(logger: STDOUT)
65
74
  ```
66
75
 
67
76
  ## Development
data/enumark.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = "Enumerate chrome bookmark dump file"
12
12
  spec.homepage = "https://github.com/turnon/enumark"
13
13
  spec.license = "MIT"
14
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
15
15
 
16
16
  # Specify which files should be added to the gem when it is released.
17
17
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Enumark
4
+ module Config
5
+ class << self
6
+ def set(**cfg)
7
+ (@cfg ||= {}).merge!(cfg)
8
+ end
9
+
10
+ def get(key)
11
+ @cfg[key]
12
+ end
13
+ end
14
+
15
+ set
16
+ end
17
+ end
data/lib/enumark/dir.rb CHANGED
@@ -22,5 +22,21 @@ class Enumark
22
22
  def static
23
23
  @static ||= @enumarks.reverse_each.reduce(&:&)
24
24
  end
25
+
26
+ def all
27
+ Enumerator.new do |yielder|
28
+ logger = Config.get(:logger)
29
+ file_count = @enumarks.count
30
+
31
+ @enumarks.each_with_index do |enum, idx|
32
+ enum.each do |item|
33
+ yielder << item
34
+ logger.printf("--> %6d/%-6d = %3f \r", idx + 1, file_count, ((idx + 1).to_f / file_count * 100).round(2)) if logger
35
+ end
36
+ end
37
+
38
+ logger.puts if logger
39
+ end
40
+ end
25
41
  end
26
42
  end
data/lib/enumark/item.rb CHANGED
@@ -7,9 +7,10 @@ class Enumark
7
7
  PATTERN = /HREF="(.*?)".*ADD_DATE="(.*?)".*>(.*)<\/A>/
8
8
  USELESS_SHARP = /\#.*$/
9
9
 
10
- attr_reader :name, :href, :add_date, :categories
10
+ attr_reader :dump_date, :name, :href, :add_date, :categories
11
11
 
12
- def initialize(line, categories)
12
+ def initialize(dump_date, line, categories)
13
+ @dump_date = dump_date
13
14
  m = line.match(PATTERN)
14
15
  @href = m[1].gsub(USELESS_SHARP, '')
15
16
  @add_date = Time.at(m[2].to_i)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Enumark
4
- VERSION = "0.1.4"
4
+ VERSION = "1.0.0"
5
5
  end
data/lib/enumark.rb CHANGED
@@ -5,6 +5,7 @@ require 'enumark/item'
5
5
  require 'enumark/category'
6
6
  require 'enumark/grouping'
7
7
  require 'enumark/dir'
8
+ require 'enumark/config'
8
9
 
9
10
  class Enumark
10
11
  include Enumerable
@@ -62,13 +63,14 @@ class Enumark
62
63
  end
63
64
 
64
65
  def _read_all_lines
66
+ dump_date = Pathname.new(@file).basename('.html').to_s
65
67
  categories = []
66
68
  @items = []
67
69
 
68
70
  File.new(@file).each do |line|
69
71
  case line
70
72
  when Item::PREFIX
71
- item = Item.new(line, categories.dup)
73
+ item = Item.new(dump_date, line, categories.dup)
72
74
  @items.push(item)
73
75
  when Category::START
74
76
  categories.push(Category.new(line))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enumark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ken
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-16 00:00:00.000000000 Z
11
+ date: 2022-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -32,6 +32,7 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - ".gitignore"
35
+ - ".ruby-version"
35
36
  - CODE_OF_CONDUCT.md
36
37
  - Gemfile
37
38
  - LICENSE.txt
@@ -42,6 +43,7 @@ files:
42
43
  - enumark.gemspec
43
44
  - lib/enumark.rb
44
45
  - lib/enumark/category.rb
46
+ - lib/enumark/config.rb
45
47
  - lib/enumark/dir.rb
46
48
  - lib/enumark/grouping.rb
47
49
  - lib/enumark/item.rb
@@ -58,14 +60,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - ">="
60
62
  - !ruby/object:Gem::Version
61
- version: 2.4.0
63
+ version: 3.1.0
62
64
  required_rubygems_version: !ruby/object:Gem::Requirement
63
65
  requirements:
64
66
  - - ">="
65
67
  - !ruby/object:Gem::Version
66
68
  version: '0'
67
69
  requirements: []
68
- rubygems_version: 3.2.3
70
+ rubygems_version: 3.3.7
69
71
  signing_key:
70
72
  specification_version: 4
71
73
  summary: Enumerate chrome bookmark dump file