mof 1.2.2 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -477,6 +477,7 @@ rule
477
477
  : IDENTIFIER
478
478
  | ASSOCIATION /* meta qualifier */
479
479
  | INDICATION /* meta qualifier */
480
+ | REFERENCE /* Added in DSP0004 2.7.0 */
480
481
  | SCHEMA
481
482
  ;
482
483
 
@@ -19,14 +19,17 @@
19
19
  # @q: Queue of [token,value] pairs, [false,false] denotes EOF
20
20
  #
21
21
 
22
- require 'iconv'
23
-
24
22
  module MOF
25
23
  module Scanner
24
+
25
+ require 'iconv' unless String.method_defined? :encode
26
+
26
27
  def fill_queue
27
- if @file.eof?
28
+ if @file.closed? || @file.eof?
28
29
  # $stderr.puts "eof ! #{@fstack.size}"
29
- @file.close unless @file == $stdin
30
+ unless @file.closed?
31
+ @file.close unless @file == $stdin
32
+ end
30
33
  unless @fstack.empty?
31
34
  @file, @name, @lineno, @iconv, $/, @result = @fstack.pop
32
35
  # $stderr.puts "fill! #{@fstack.size}, #{@name}@#{@lineno}"
@@ -41,7 +44,13 @@ module Scanner
41
44
 
42
45
  # $stderr.puts "fill_queue(#{@line.split('').inspect})"
43
46
  @line.chomp! # remove $/
44
- @line = Iconv.conv( "ISO-8859-1", @iconv, @line ) if @iconv
47
+ if @iconv
48
+ if String.method_defined? encode
49
+ @line = @line.encode( "ISO-8859-1", @iconv )
50
+ else
51
+ @line = Iconv.conv( "ISO-8859-1", @iconv, @line )
52
+ end
53
+ end
45
54
  # $stderr.puts "scan(#{@line})" unless @quiet
46
55
  scanner = StringScanner.new(@line)
47
56
 
@@ -1,3 +1,3 @@
1
1
  module MOF
2
- VERSION = '1.2.2'
2
+ VERSION = '1.2.4'
3
3
  end
@@ -1,3 +1,6 @@
1
1
  // simple qualifier declaration
2
2
  qualifier Description : string,
3
3
  Scope(class, property);
4
+
5
+ Qualifier Reference : string = null,
6
+ Scope(property);
@@ -21,13 +21,24 @@ class TestQualifiers < Test::Unit::TestCase
21
21
  name,res = result.shift
22
22
  assert !res.qualifiers.empty?
23
23
  # parsed one qualifier
24
- assert_equal 1, res.qualifiers.size
25
- q = res.qualifiers.shift
26
- assert q.is_a? CIM::QualifierDeclaration
27
- assert q.type == :string
28
- # has two qualifier scopes
29
- assert_equal 2, q.scopes.size
30
- assert q.scopes.include? :class
31
- assert q.scopes.include? :property
24
+ assert_equal 2, res.qualifiers.size
25
+ res.qualifiers.each do |q|
26
+ assert q.is_a? CIM::QualifierDeclaration
27
+ case q.name
28
+ when "Description"
29
+ assert q.type == :string
30
+ # has two qualifier scopes
31
+ assert_equal 2, q.scopes.size
32
+ assert q.scopes.include? :class
33
+ assert q.scopes.include? :property
34
+ when "Reference"
35
+ assert q.type == :string
36
+ assert_equal 1, q.scopes.size
37
+ assert q.scopes.include? :property
38
+ else
39
+ STDERR.puts "Unhandled QualifierDeclaration for '#{q.name}'"
40
+ assert false
41
+ end
42
+ end
32
43
  end
33
44
  end
metadata CHANGED
@@ -1,80 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mof
3
- version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 2
10
- version: 1.2.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.4
11
5
  platform: ruby
12
- authors:
13
- - "Klaus K\xC3\xA4mpf"
6
+ authors:
7
+ - Klaus Kämpf
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-06-27 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2015-04-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: cim
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 11
30
- segments:
31
- - 1
32
- - 2
33
- version: "1.2"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.2'
34
20
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rake
38
21
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
42
31
  - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
48
34
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: bundler
52
35
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
56
45
  - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
62
48
  type: :development
63
- version_requirements: *id003
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
64
55
  description: |-
65
56
  The Managed Object Format (MOF) language used to
66
57
  describe classes and instances of the Common Information Model (CIM).
67
58
  See http://www.dmtf.org/education/mof
68
- email:
59
+ email:
69
60
  - kkaempf@suse.de
70
- executables:
61
+ executables:
71
62
  - moflint
72
63
  extensions: []
73
-
74
- extra_rdoc_files:
64
+ extra_rdoc_files:
75
65
  - README.rdoc
76
66
  - LICENSE
77
- files:
67
+ files:
78
68
  - Gemfile
79
69
  - History.txt
80
70
  - LICENSE
@@ -85,6 +75,7 @@ files:
85
75
  - lib/include/wmi-qualifiers.mof
86
76
  - lib/mof.rb
87
77
  - lib/mof/helper.rb
78
+ - lib/mof/parser.rb
88
79
  - lib/mof/parser.y
89
80
  - lib/mof/result.rb
90
81
  - lib/mof/scanner.rb
@@ -108,42 +99,30 @@ files:
108
99
  - test/test_class_qualifiers.rb
109
100
  - test/test_loading.rb
110
101
  - test/test_qualifier.rb
111
- - lib/mof/parser.rb
112
- has_rdoc: true
113
102
  homepage: https://github.com/kkaempf/mof
114
103
  licenses: []
115
-
104
+ metadata: {}
116
105
  post_install_message:
117
106
  rdoc_options: []
118
-
119
- require_paths:
107
+ require_paths:
120
108
  - lib
121
- required_ruby_version: !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
124
111
  - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
130
- required_rubygems_version: !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
133
116
  - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
139
119
  requirements: []
140
-
141
120
  rubyforge_project: mof
142
- rubygems_version: 1.5.0
121
+ rubygems_version: 2.4.5
143
122
  signing_key:
144
- specification_version: 3
123
+ specification_version: 4
145
124
  summary: A pure Ruby parser for MOF (Managed Object Format) files
146
- test_files:
125
+ test_files:
147
126
  - test/mof/array_initializer.mof
148
127
  - test/mof/association_qualifier.mof
149
128
  - test/mof/class_qualifier_fail.mof