tagutils 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e34415c99adfedcb4bd078a328b52a7c9f418931
4
+ data.tar.gz: ba4d539d363122e793a0b8fac7609025520623cc
5
+ SHA512:
6
+ metadata.gz: c2ae676b1df654904a593519c0bfbb1874ebaaebf299977809b7c6ff007baef78be882d7ae00ffa1e1a662427b002131d7bc50c517f3a5946a5a1c5e7ffdef53
7
+ data.tar.gz: f262dc809c38d893e7020be236bbfa5c9cbcceac3f49a38d6fc746862f43f268ba69739d578b84c1ec84cd9dec892ae5ba63026e2c18e05abdcad2d071be86fa
data/Rakefile CHANGED
@@ -19,13 +19,15 @@ Hoe.spec 'tagutils' do
19
19
 
20
20
  self.extra_deps = [
21
21
  ['activerecord' ],
22
- ['logutils', '>= 0.6']
22
+ ['props', '>=1.1.2'],
23
+ ['logutils', '>= 0.6.1'],
24
+ ['textutils', '>=0.10.0']
23
25
  ]
24
26
 
25
27
  self.licenses = ['Public Domain']
26
28
 
27
29
  self.spec_extras = {
28
- :required_ruby_version => '>= 1.9.2'
30
+ required_ruby_version: '>= 1.9.2'
29
31
  }
30
32
 
31
33
 
@@ -4,15 +4,9 @@
4
4
  require 'active_record' ## todo: add sqlite3? etc.
5
5
 
6
6
  require 'props'
7
- require 'props/db' # note: also use ConfDb (ConfDb::Model::Prop etc.)
8
7
  require 'logutils'
9
8
  require 'textutils'
10
9
 
11
- #########
12
- # fix/todo:
13
- # move props/db - Props.create_from_fixture! to textutils/db
14
- # require 'textutils/db'
15
-
16
10
 
17
11
  # our own code
18
12
 
@@ -43,4 +37,5 @@ module TagUtils
43
37
  end # module TagUtils
44
38
 
45
39
 
46
- puts TagUtils.banner # say hello
40
+ # say hello
41
+ puts TagUtils.banner if $DEBUG || (defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG)
@@ -16,20 +16,46 @@ class TagReader
16
16
  include TextUtils::ValueHelper
17
17
 
18
18
 
19
- attr_reader :include_path
19
+ def self.from_zip( zip_file, entry_path, more_attribs={} )
20
+ ## get text content from zip
21
+ entry = zip_file.find_entry( entry_path )
20
22
 
23
+ text = entry.get_input_stream().read()
24
+ text = text.force_encoding( Encoding::UTF_8 )
25
+
26
+ self.from_string( text, more_attribs )
27
+ end
28
+
29
+ def self.from_file( path, more_attribs={} )
30
+ ## note: assume/enfore utf-8 encoding (with or without BOM - byte order mark)
31
+ ## - see textutils/utils.rb
32
+ text = File.read_utf8( path )
33
+
34
+ self.from_string( text, more_attribs )
35
+ end
36
+
37
+ def self.from_string( text, more_attribs={} )
38
+ TagReader.new( text, more_attribs )
39
+ end
40
+
41
+
42
+ def initialize( text, more_attribs={} )
43
+ ## todo/fix: how to add opts={} ???
44
+ @text = text
45
+ @more_attribs = more_attribs
46
+ end
47
+
48
+ ## fix: for now no way to pass in opts hash
21
49
  def strict?() @strict == true; end
22
50
 
23
- def initialize( include_path, opts = {} )
24
-
51
+ def initialize_old_removeeeee( include_path, opts = {} )
25
52
  @include_path = include_path
26
53
 
27
54
  ## option: for now issue warning on update, that is, if key/record (country,region,city) already exists
28
55
  @strict = opts[:strict].present? ? true : false
29
56
  end
30
57
 
31
-
32
- def read( name )
58
+ def read_old_removeeee( name )
33
59
  ## check for grade in name e.g. tag.1, tag.2 etc.
34
60
 
35
61
  if name =~ /^tag.*\.(\d)$/
@@ -40,14 +66,13 @@ class TagReader
40
66
  end
41
67
 
42
68
 
43
- def read_worker( name, more_attribs={} )
44
-
45
- reader = HashReaderV2.new( name, include_path )
69
+ def read()
70
+ reader = HashReader.from_string( @text ) # NOTE: for now HashReader does NOT accept 2nd more_attributes para - check back later
46
71
 
47
72
  grade = 1
48
73
 
49
- if more_attribs[:grade].present?
50
- grade = more_attribs[:grade].to_i
74
+ if @more_attribs[:grade].present?
75
+ grade = @more_attribs[:grade].to_i
51
76
  end
52
77
 
53
78
  reader.each do |key, value|
@@ -93,7 +118,7 @@ class TagReader
93
118
  end
94
119
  end # each key,value
95
120
 
96
- end # method read_worker
121
+ end # method read
97
122
 
98
123
 
99
124
  end # class TagReader
@@ -1,5 +1,5 @@
1
1
 
2
2
  module TagUtils
3
- VERSION = '0.2.2'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
 
@@ -3,28 +3,15 @@
3
3
 
4
4
  ## minitest setup
5
5
 
6
- # require 'minitest/unit'
7
6
  require 'minitest/autorun'
8
7
 
9
- # include MiniTest::Unit # lets us use TestCase instead of MiniTest::Unit::TestCase
10
-
11
-
12
- # ruby stdlibs
13
-
14
- require 'json'
15
- require 'uri'
16
- require 'pp'
17
- require 'logger'
18
-
19
- # ruby gems
20
-
21
- require 'active_record'
22
-
23
8
 
24
9
  # our own code
25
10
 
26
11
  require 'tagutils'
27
- require 'logutils/db' # NB: explict require required for LogDb (not automatic)
12
+
13
+ require 'logutils/activerecord' # NB: explict require required for LogDb (not automatic)
14
+ require 'props/activerecord' # NB: explict require required for ConfDb (not automatic)
28
15
 
29
16
 
30
17
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'helper'
4
4
 
5
- class TestModels < MiniTest::Unit::TestCase
5
+ class TestModels < MiniTest::Test
6
6
 
7
7
  def setup
8
8
  TagDb.delete!
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'helper'
4
4
 
5
- class TestTagReader < MiniTest::Unit::TestCase
5
+ class TestTagReader < MiniTest::Test
6
6
 
7
7
  def setup
8
8
  TagDb.delete!
@@ -13,10 +13,12 @@ class TestTagReader < MiniTest::Unit::TestCase
13
13
 
14
14
  def test_read
15
15
  include_path = "#{TagUtils.root}/test"
16
- puts "[TestTagReader.test_read] include_path: #{include_path}"
17
-
18
- reader = TagDb::TagReader.new( include_path )
19
- reader.read( 'tags.1' )
16
+
17
+ path = "#{include_path}/tags.1.yml"
18
+ puts "[TestTagReader.test_read] path: #{path}"
19
+
20
+ reader = TagDb::TagReader.from_file( path )
21
+ reader.read()
20
22
  end
21
23
 
22
24
 
metadata CHANGED
@@ -1,60 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tagutils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gerald Bauer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-14 00:00:00.000000000 Z
11
+ date: 2014-12-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
- requirement: &75986000 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *75986000
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: props
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.2
25
41
  - !ruby/object:Gem::Dependency
26
42
  name: logutils
27
- requirement: &75985420 !ruby/object:Gem::Requirement
28
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: textutils
57
+ requirement: !ruby/object:Gem::Requirement
29
58
  requirements:
30
- - - ! '>='
59
+ - - ">="
31
60
  - !ruby/object:Gem::Version
32
- version: '0.6'
61
+ version: 0.10.0
33
62
  type: :runtime
34
63
  prerelease: false
35
- version_requirements: *75985420
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.10.0
36
69
  - !ruby/object:Gem::Dependency
37
70
  name: rdoc
38
- requirement: &75984750 !ruby/object:Gem::Requirement
39
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
40
72
  requirements:
41
- - - ~>
73
+ - - "~>"
42
74
  - !ruby/object:Gem::Version
43
75
  version: '4.0'
44
76
  type: :development
45
77
  prerelease: false
46
- version_requirements: *75984750
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '4.0'
47
83
  - !ruby/object:Gem::Dependency
48
84
  name: hoe
49
- requirement: &75984290 !ruby/object:Gem::Requirement
50
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
51
86
  requirements:
52
- - - ~>
87
+ - - "~>"
53
88
  - !ruby/object:Gem::Version
54
- version: '3.11'
89
+ version: '3.13'
55
90
  type: :development
56
91
  prerelease: false
57
- version_requirements: *75984290
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.13'
58
97
  description: tagutils - tag utilities (tag, taggings, tag list, etc.)
59
98
  email: openmundi@googlegroups.com
60
99
  executables: []
@@ -64,6 +103,7 @@ extra_rdoc_files:
64
103
  - Manifest.txt
65
104
  - README.md
66
105
  files:
106
+ - ".gemtest"
67
107
  - HISTORY.md
68
108
  - Manifest.txt
69
109
  - README.md
@@ -88,33 +128,31 @@ files:
88
128
  - test/tags.1.yml
89
129
  - test/test_models.rb
90
130
  - test/test_tag_reader.rb
91
- - .gemtest
92
131
  homepage: https://github.com/rubylibs/tagutils
93
132
  licenses:
94
133
  - Public Domain
134
+ metadata: {}
95
135
  post_install_message:
96
136
  rdoc_options:
97
- - --main
137
+ - "--main"
98
138
  - README.md
99
139
  require_paths:
100
140
  - lib
101
141
  required_ruby_version: !ruby/object:Gem::Requirement
102
- none: false
103
142
  requirements:
104
- - - ! '>='
143
+ - - ">="
105
144
  - !ruby/object:Gem::Version
106
145
  version: 1.9.2
107
146
  required_rubygems_version: !ruby/object:Gem::Requirement
108
- none: false
109
147
  requirements:
110
- - - ! '>='
148
+ - - ">="
111
149
  - !ruby/object:Gem::Version
112
150
  version: '0'
113
151
  requirements: []
114
152
  rubyforge_project:
115
- rubygems_version: 1.8.17
153
+ rubygems_version: 2.4.2
116
154
  signing_key:
117
- specification_version: 3
155
+ specification_version: 4
118
156
  summary: tagutils - tag utilities (tag, taggings, tag list, etc.)
119
157
  test_files:
120
158
  - test/test_models.rb