csl 1.0.0.pre6 → 1.0.0.pre7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/csl/locale.rb CHANGED
@@ -62,11 +62,11 @@ module CSL
62
62
  private :attributes
63
63
  undef_method :[]=
64
64
 
65
- # call-seq:
66
- # Locale.new -> default
67
- # Locale.new('en') -> American English
68
- # Locale.new('en', :'punctuation-in-quote' => fales) -> with style-options
69
- # Locale.new(:lang => 'en-GB', :version => '1.0') -> British English
65
+ # @example
66
+ # Locale.new #-> default
67
+ # Locale.new('en') #-> American English
68
+ # Locale.new('en', :'punctuation-in-quote' => fales) #-> with style-options
69
+ # Locale.new(:lang => 'en-GB', :version => '1.0') #-> British English
70
70
  #
71
71
  # Returns a new locale. In the first form, the language/regions is set
72
72
  # to the default language and region. In the second form the
data/lib/csl/schema.rb CHANGED
@@ -88,7 +88,7 @@ module CSL
88
88
  @attributes.each_value { |v| v.map!(&:to_sym).freeze }
89
89
 
90
90
  @attributes[:formatting] = [:'text-case'].concat(
91
- @attributes.values_at(:affixes, :quotes, :font).flatten)
91
+ @attributes.values_at(:affixes, :font).flatten)
92
92
 
93
93
  @attributes.freeze
94
94
 
@@ -4,6 +4,9 @@ module CSL
4
4
  class Layout < Node
5
5
  attr_struct *Schema.attr(:affixes, :font, :delimiter)
6
6
 
7
+ def delimiter
8
+ attributes.fetch(:delimiter, '')
9
+ end
7
10
  end
8
11
 
9
12
  end
@@ -1,12 +1,20 @@
1
1
  module CSL
2
2
  class Style
3
-
3
+
4
4
  class Number < Node
5
5
  attr_struct :variable, :form, :'text-case',
6
6
  *Schema.attr(:affixes, :display, :font)
7
7
 
8
8
  has_no_children
9
9
 
10
+ def has_variable?
11
+ attribute?(:variable)
12
+ end
13
+
14
+ def variable
15
+ attributes[:variable]
16
+ end
17
+
10
18
  # @return [Boolean] whether or not the number's format is set to
11
19
  # :numeric; also returns true if the number's form attribute is not
12
20
  # set or nil.
@@ -16,19 +24,19 @@ module CSL
16
24
 
17
25
  # @return [Boolean] whether or not the number's format is set to :ordinal
18
26
  def ordinal?
19
- attribute?(:form) && attributes.form.to_sym == :ordinal
27
+ attribute?(:form) && attributes.form.to_sym == :ordinal
20
28
  end
21
-
29
+
22
30
  # @return [Boolean] whether or not the number's format is set to :'long-ordinal'
23
31
  def long_ordinal?
24
32
  attribute?(:form) && attributes.form.to_sym == :'long-ordinal'
25
33
  end
26
-
34
+
27
35
  # @return [Boolean] whether or not the number's format is set to :roman
28
36
  def roman?
29
37
  attribute?(:form) && attributes.form.to_sym == :roman
30
38
  end
31
-
39
+
32
40
  end
33
41
 
34
42
  end
@@ -3,9 +3,47 @@ module CSL
3
3
 
4
4
  class Text < Node
5
5
  attr_struct :variable, :macro, :term, :form, :plural, :value,
6
- *Schema.attr(:formatting, :display, :periods)
6
+ *Schema.attr(:formatting, :display, :quotes, :periods)
7
7
 
8
8
  has_no_children
9
+
10
+ def has_variable?
11
+ attribute?(:variable)
12
+ end
13
+
14
+ def variable
15
+ attributes[:variable]
16
+ end
17
+
18
+ def variable_options
19
+ attributes_for :form
20
+ end
21
+
22
+ def has_macro?
23
+ attribute?(:macro)
24
+ end
25
+
26
+ # @return [Macro, nil]
27
+ def macro
28
+ raise unless parent.respond_to?(:macros)
29
+ parent.macros[attributes[:macro]]
30
+ end
31
+
32
+ def has_term?
33
+ attribute?(:term)
34
+ end
35
+
36
+ def term_options
37
+ attributes_for :term, :plural, :form
38
+ end
39
+
40
+ def has_value?
41
+ attribute?(:value)
42
+ end
43
+
44
+ def value
45
+ attributes[:value]
46
+ end
9
47
  end
10
48
 
11
49
  end
data/lib/csl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CSL
2
- VERSION = '1.0.0.pre6'.freeze
2
+ VERSION = '1.0.0.pre7'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre6
4
+ version: 1.0.0.pre7
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-08-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: namae
16
- requirement: &70235476097460 !ruby/object:Gem::Requirement
16
+ requirement: &70168631472240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0.3'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70235476097460
24
+ version_requirements: *70168631472240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: cucumber
27
- requirement: &70235476095920 !ruby/object:Gem::Requirement
27
+ requirement: &70168631469080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.1'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70235476095920
35
+ version_requirements: *70168631469080
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70235476095040 !ruby/object:Gem::Requirement
38
+ requirement: &70168631491820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.7'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70235476095040
46
+ version_requirements: *70168631491820
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70235476093880 !ruby/object:Gem::Requirement
49
+ requirement: &70168631488840 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0.9'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70235476093880
57
+ version_requirements: *70168631488840
58
58
  description: ! "\n\t\tA Ruby parser and library for the Citation Style Language (CSL),
59
59
  an open\n\t\tXML-based language to describe the formatting of citations and\n\t\tbibliographies.\n\t\t"
60
60
  email:
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
164
  version: '0'
165
165
  segments:
166
166
  - 0
167
- hash: -1174116000555446406
167
+ hash: -1756583950197893123
168
168
  required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements: