ultraviolet1x 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +2 -2
  3. data/Rakefile +14 -0
  4. data/lib/uv.rb +22 -25
  5. data/lib/uv/version.rb +1 -1
  6. metadata +4 -4
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source :rubygems
2
2
 
3
3
  gem 'oniguruma', :platform => :ruby_18
4
- gem 'textpow1x', '>=1'
4
+ gem 'textpow1x', '>=1.2'
5
5
 
6
6
  group :dev do
7
7
  gem 'rake', '0.8.7'
@@ -13,7 +13,7 @@ GEM
13
13
  rspec-expectations (2.6.0)
14
14
  diff-lcs (~> 1.1.2)
15
15
  rspec-mocks (2.6.0)
16
- textpow1x (1.0.0)
16
+ textpow1x (1.2.0)
17
17
  plist (>= 3.0.1)
18
18
 
19
19
  PLATFORMS
@@ -23,4 +23,4 @@ DEPENDENCIES
23
23
  oniguruma
24
24
  rake (= 0.8.7)
25
25
  rspec
26
- textpow1x (>= 1)
26
+ textpow1x (>= 1.2)
data/Rakefile CHANGED
@@ -4,3 +4,17 @@ Bundler::GemHelper.install_tasks
4
4
  task :default do
5
5
  sh "rspec spec/"
6
6
  end
7
+
8
+ rule /^version:bump:.*/ do |t|
9
+ sh "git status | grep 'nothing to commit'" # ensure we are not dirty
10
+ index = ['major', 'minor','patch'].index(t.name.split(':').last)
11
+ file = 'lib/uv/version.rb'
12
+
13
+ version_file = File.read(file)
14
+ old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a
15
+ version_parts[index] = version_parts[index].to_i + 1
16
+ new_version = version_parts * '.'
17
+ File.open(file,'w'){|f| f.write(version_file.sub(old_version, new_version)) }
18
+
19
+ sh "bundle && git add #{file} Gemfile.lock && git commit -m 'bump version to #{new_version}'"
20
+ end
data/lib/uv.rb CHANGED
@@ -16,80 +16,77 @@ module Uv
16
16
  self.default_style = 'mac_classic'
17
17
  self.syntaxes = {}
18
18
 
19
- def Uv.path
19
+ def self.path
20
20
  result = []
21
21
  result << File.join(File.dirname(__FILE__), ".." )
22
22
  end
23
23
 
24
24
  def self.syntax_node_for(syntax)
25
- if !@syntaxes.key?(syntax)
26
- filename = File.join(@syntax_path, "#{syntax}.syntax")
27
- @syntaxes[syntax] = if File.exist?(filename)
28
- Textpow::SyntaxNode.load(filename)
29
- else
30
- false
31
- end
32
- end
33
- if !@syntaxes[syntax]
34
- raise ArgumentError, "No #{syntax}.syntax file in #{@syntax_path}"
25
+ if @syntaxes.key?(syntax)
26
+ @syntaxes[syntax]
27
+ else
28
+ @syntaxes[syntax] = Textpow.syntax(syntax) || raise(ArgumentError, "No syntax found for #{syntax}")
35
29
  end
36
- @syntaxes[syntax]
37
30
  end
38
31
 
39
- def Uv.copy_files output, output_dir
32
+ def self.copy_files(output, output_dir)
40
33
  Uv.path.each do |dir|
41
34
  dir_name = File.join( dir, "render", output, "files" )
42
35
  FileUtils.cp_r( Dir.glob(File.join( dir_name, "." )), output_dir ) if File.exists?( dir_name )
43
36
  end
44
37
  end
45
38
 
46
- def Uv.syntaxes
39
+ def self.syntaxes
47
40
  Dir.glob( File.join(@syntax_path, '*.syntax') ).collect do |f|
48
41
  File.basename(f, '.syntax')
49
42
  end
50
43
  end
51
44
 
52
- def Uv.themes
45
+ def self.themes
53
46
  Dir.glob( File.join(@theme_path, '*.css') ).collect do |f|
54
47
  File.basename(f, '.css')
55
48
  end
56
49
  end
57
50
 
58
- def Uv.syntax_for_file file_name
51
+ def self.syntax_for_file(file_name)
59
52
  init_syntaxes unless @syntaxes
53
+
54
+ # get first non-empty line
60
55
  first_line = ""
61
56
  File.open( file_name, 'r' ) { |f|
62
57
  while (first_line = f.readline).strip.size == 0; end
63
58
  }
59
+
60
+
61
+ # find syntax by file-extension
64
62
  result = []
65
- @syntaxes.each do |key, value|
63
+ @syntaxes.each do |key, syntax|
66
64
  assigned = false
67
- if value.fileTypes
68
- value.fileTypes.each do |t|
65
+ if syntax.fileTypes
66
+ syntax.fileTypes.each do |t|
69
67
  if t == File.basename( file_name ) || t == File.extname( file_name )[1..-1]
70
- result << [key, value]
68
+ result << [key, syntax]
71
69
  assigned = true
72
70
  break
73
71
  end
74
72
  end
75
73
  end
76
74
  unless assigned
77
- if value.firstLineMatch && value.firstLineMatch =~ first_line
78
- result << [key, value]
75
+ if syntax.firstLineMatch && syntax.firstLineMatch =~ first_line
76
+ result << [key, syntax]
79
77
  end
80
78
  end
81
79
  end
82
80
  result
83
81
  end
84
82
 
85
- def Uv.parse text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = nil, headers = false
83
+ def self.parse(text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = nil, headers = false)
86
84
  RenderProcessor.load(output, render_style, line_numbers, headers) do |processor|
87
85
  syntax_node_for(syntax_name).parse(text, processor)
88
86
  end.string
89
87
  end
90
88
 
91
- def Uv.debug text, syntax_name
89
+ def self.debug(text, syntax_name)
92
90
  syntax_node_for(syntax_name).parse(text, Textpow::DebugProcessor.new)
93
91
  end
94
-
95
92
  end
@@ -1,3 +1,3 @@
1
1
  module Uv
2
- Version = "0.13.0"
2
+ Version = "0.14.0"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultraviolet1x
3
3
  version: !ruby/object:Gem::Version
4
- hash: 43
4
+ hash: 39
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 13
8
+ - 14
9
9
  - 0
10
- version: 0.13.0
10
+ version: 0.14.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dizan Vasquez
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-10-02 00:00:00 +02:00
21
+ date: 2011-10-08 00:00:00 +02:00
22
22
  default_executable:
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency