bbs_2ch_url_validator 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 756d5594b570809e18fc52ffd519b21dc78ff8b3
4
- data.tar.gz: 44ca34fca2703451544a09860c697e5437420757
3
+ metadata.gz: 4715910d9dd5a43bc119afd5f11034ff4c38792e
4
+ data.tar.gz: 9d6f0ca4e3bbe5b8b6e4fa4211386586fd28b123
5
5
  SHA512:
6
- metadata.gz: 91bca6d768abb7ee834476ad8cc45ad82bf8fad47a0d525b63f544f6d04448d73b4eac7aa523cf254cfdec831037323e7198589ce90d914262098525b8352601
7
- data.tar.gz: e6bc83473dc1dfb1d257efb6281ca6dad8cd7a5bb645a349d4563fc4d43416faabd719f60819160bf4412cf903b78ae44a24ec6c0648025044ad8d245df0674a
6
+ metadata.gz: 840762e7d9ea40021c7dc6fdae61d73a5de830f8c063cf999e7aa5753dfe02fe205620f2415fe2a5162431e44fbc49d782ddf3b443a0431d63734d283b5ee15a
7
+ data.tar.gz: e5e9244fa79278c6cba707ae25154702b71027f3b7a448f2e48fa51311974c58eb3bdb0c180a03a214a77012b2d00fbcb9765e947ab025db3a225e353d3ea1ad
data/README.md CHANGED
@@ -45,6 +45,7 @@ The gem is available as open source under the terms of the [MIT License](http://
45
45
 
46
46
  ## History
47
47
 
48
+ - v0.1.3 Add Bbs2chUrlValidator::URL#subject, #dat, #setting, #dat?, #subject?, #setting?, #open?
48
49
  - v0.1.2 Put #build_url into instance variable 'built_url'
49
50
  - v0.1.1 Add UrlInfo#build_url
50
51
  - v0.1.0 first release
@@ -46,9 +46,10 @@ module Bbs2chUrlValidator
46
46
 
47
47
  class UrlInfo
48
48
  # @return [String]
49
- attr_reader :server_name, :tld, :board_name, :thread_key, :is_open, :built_url
49
+ attr_reader :server_name, :tld, :board_name, :thread_key, :built_url
50
50
  # @return [Boolean]
51
- attr_reader :is_dat, :is_subject, :is_setting
51
+ # @deprecated
52
+ attr_reader :is_dat, :is_subject, :is_setting, :is_open
52
53
 
53
54
  # @param [Hash] hash
54
55
  def initialize(hash)
@@ -57,13 +58,32 @@ module Bbs2chUrlValidator
57
58
  instance_variable_set("@#{k}", value)
58
59
  end
59
60
  @built_url = build_url
61
+ define_methods
62
+ end
63
+
64
+ def dat
65
+ generate_special_url(:dat)
66
+ end
67
+
68
+ def subject
69
+ generate_special_url(:subject)
70
+ end
71
+
72
+ def setting
73
+ generate_special_url(:setting)
60
74
  end
61
75
 
62
76
  private
63
77
 
78
+ def define_methods
79
+ %w(is_open is_dat is_subject is_setting).each do |attr|
80
+ self.class.send(:define_method, attr.gsub(/is_(.+)/) { "#{$1}?" }) { attr }
81
+ end
82
+ end
83
+
64
84
  def build_url
65
85
  if @is_dat || @is_subject || @is_setting
66
- generate_special_url
86
+ generate_special_url_by_flags
67
87
  elsif @thread_key
68
88
  # http://viper.2ch.sc/test/read.cgi/news4vip/9990000001/
69
89
  combine_url("/test/read.cgi/#{@board_name}/#{@thread_key}/")
@@ -76,14 +96,28 @@ module Bbs2chUrlValidator
76
96
  end
77
97
  end
78
98
 
79
- def generate_special_url
99
+ def generate_special_url_by_flags
80
100
  if @is_dat
101
+ generate_special_url(:dat)
102
+ elsif @is_subject
103
+ generate_special_url(:subject)
104
+ elsif @is_setting
105
+ generate_special_url(:setting)
106
+ end
107
+ end
108
+
109
+ def generate_special_url(type)
110
+ case type
111
+ when :dat
112
+ return nil unless @board_name && @thread_key
81
113
  # http://viper.2ch.sc/news4vip/dat/9990000001.dat
82
114
  combine_url("/#{@board_name}/dat/#{@thread_key}.dat")
83
- elsif @is_subject
115
+ when :subject
116
+ return nil unless @board_name
84
117
  # http://viper.2ch.sc/news4vip/subject.txt
85
118
  combine_url("/#{@board_name}/subject.txt")
86
- elsif @is_setting
119
+ when :setting
120
+ return nil unless @board_name
87
121
  # http://viper.2ch.sc/news4vip/SETTING.TXT
88
122
  combine_url("/#{@board_name}/SETTING.TXT")
89
123
  end
@@ -1,3 +1,3 @@
1
1
  module Bbs2chUrlValidator
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbs_2ch_url_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - dogwood008
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-04 00:00:00.000000000 Z
11
+ date: 2016-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler