ruby-yasm 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
File without changes
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour --format documentation
@@ -1,3 +1,10 @@
1
+ ### 0.2.0 / 2011-04-11
2
+
3
+ * Require rprogram ~> 0.3.
4
+ * Allow passing in additional exec-options in {YASM::Program.assemble}
5
+ and {YASM::Program#assemble}.
6
+ * Opt into [test.rubygems.org](http://test.rubygems.org/)
7
+
1
8
  ### 0.1.1 / 2010-04-15
2
9
 
3
10
  * Migrated to [Jeweler](http://github.com/technicalpickles/jeweler)
@@ -1,6 +1,4 @@
1
- (The MIT License)
2
-
3
- Copyright (c) 2009-2010 Hal Brodigan
1
+ Copyright (c) 2009-2011 Hal Brodigan
4
2
 
5
3
  Permission is hereby granted, free of charge, to any person obtaining
6
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # ruby-yasm
2
2
 
3
- * [github.com/sophsec/ruby-yasm](http://github.com/sophsec/ruby-yasm/)
4
- * [github.com/sophsec/ruby-yasm/issues](http://github.com/sophsec/ruby-yasm/issues)
3
+ * [Source](http://github.com/sophsec/ruby-yasm/)
4
+ * [Issues](http://github.com/sophsec/ruby-yasm/issues)
5
+ * [Email](mailto:postmodern.mod3 at gmail.com)
5
6
  * [www.tortall.net/projects/yasm](http://www.tortall.net/projects/yasm/)
6
7
  * [www.sophsec.com](http://www.sophsec.com/)
7
- * Postmodern (postmodern.mod3 at gmail.com)
8
8
 
9
9
  ## Description
10
10
 
@@ -46,8 +46,8 @@ debugging information:
46
46
 
47
47
  ## Requirements
48
48
 
49
- * [yasm](http://www.tortall.net/projects/yasm/) >= 0.8.0.
50
- * [rprogram](http://rprogram.rubyforge.org/) >= 0.1.8.
49
+ * [yasm](http://www.tortall.net/projects/yasm/) >= 0.8.0
50
+ * [rprogram](http://rprogram.rubyforge.org/) ~> 0.3
51
51
 
52
52
  ## Install
53
53
 
@@ -55,5 +55,6 @@ debugging information:
55
55
 
56
56
  ## License
57
57
 
58
- See {file:LICENSE.txt} for license information.
58
+ Copyright (c) 2009-2011 Hal Brodigan
59
59
 
60
+ See {file:LICENSE.txt} for license information.
data/Rakefile CHANGED
@@ -1,43 +1,36 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
- require './lib/yasm/version.rb'
4
3
 
5
4
  begin
6
- require 'jeweler'
7
- Jeweler::Tasks.new do |gem|
8
- gem.name = 'ruby-yasm'
9
- gem.version = YASM::VERSION
10
- gem.summary = %Q{A Ruby interface to YASM.}
11
- gem.description = %Q{A Ruby interface to YASM.}
12
- gem.email = 'postmodern.mod3@gmail.com'
13
- gem.homepage = 'http://github.com/sophsec/ruby-yasm'
14
- gem.authors = ['Postmodern']
15
- gem.add_dependency 'rprogram', '~> 0.1.8'
16
- gem.add_development_dependency 'rspec', '~> 1.3.0'
17
- gem.add_development_dependency 'yard', '~> 0.5.3'
18
- gem.has_rdoc = 'yard'
19
- end
20
- Jeweler::GemcutterTasks.new
21
- rescue LoadError
22
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
23
- end
5
+ gem 'ore-tasks', '~> 0.4'
6
+ require 'ore/tasks'
24
7
 
25
- require 'spec/rake/spectask'
26
- Spec::Rake::SpecTask.new(:spec) do |spec|
27
- spec.libs += ['lib', 'spec']
28
- spec.spec_files = FileList['spec/**/*_spec.rb']
29
- spec.spec_opts = ['--options', '.specopts']
8
+ Ore::Tasks.new
9
+ rescue LoadError => e
10
+ STDERR.puts e.message
11
+ STDERR.puts "Run `gem install ore-tasks` to install 'ore/tasks'."
30
12
  end
31
13
 
32
- task :spec => :check_dependencies
14
+ begin
15
+ gem 'rspec', '~> 2.4'
16
+ require 'rspec/core/rake_task'
17
+
18
+ RSpec::Core::RakeTask.new
19
+ rescue LoadError => e
20
+ task :spec do
21
+ abort "Please run `gem install rspec` to install RSpec."
22
+ end
23
+ end
24
+ task :test => :spec
33
25
  task :default => :spec
34
26
 
35
27
  begin
28
+ gem 'yard', '~> 0.6.0'
36
29
  require 'yard'
37
30
 
38
- YARD::Rake::YardocTask.new
39
- rescue LoadError
31
+ YARD::Rake::YardocTask.new
32
+ rescue LoadError => e
40
33
  task :yard do
41
- abort "YARD is not available. In order to run yard, you must: gem install yard"
34
+ abort "Please run `gem install yard` to install YARD."
42
35
  end
43
36
  end
@@ -0,0 +1,20 @@
1
+ name: ruby-yasm
2
+ summary: A Ruby interface to YASM.
3
+ description:
4
+ ruby-yasm provides a Ruby interface to YASM assembler.
5
+
6
+ license: MIT
7
+ authors: Postmodern
8
+ email: postmodern.mod3@gmail.com
9
+ homepage: http://github.com/sophsec/ruby-yasm
10
+ has_yard: true
11
+
12
+ requirements: yasm >= 0.6.0
13
+
14
+ dependencies:
15
+ rprogram: ~> 0.3
16
+
17
+ development_dependencies:
18
+ ore-tasks: ~> 0.4
19
+ rspec: ~> 2.4
20
+ yard: ~> 0.6.0
@@ -1,7 +1,6 @@
1
1
  require 'yasm/task'
2
2
 
3
3
  require 'rprogram'
4
- require 'tempfile'
5
4
 
6
5
  module YASM
7
6
  class Program < RProgram::Program
@@ -14,6 +13,9 @@ module YASM
14
13
  # @param [Hash{Symbol => Object}] options
15
14
  # Additional options for yasm.
16
15
  #
16
+ # @param [Hash{Symbol => Object}] exec_options
17
+ # Additional exec-options.
18
+ #
17
19
  # @yield [task]
18
20
  # If a block is given, it will be passed a task object used to
19
21
  # specify options for yasm.
@@ -36,8 +38,10 @@ module YASM
36
38
  # yasm.output = 'code.o'
37
39
  # end
38
40
  #
39
- def Program.assemble(options={},&block)
40
- Program.find().assemble(options,&block)
41
+ # @see #assemble
42
+ #
43
+ def self.assemble(options={},exec_options={},&block)
44
+ find.assemble(options,exec_options,&block)
41
45
  end
42
46
 
43
47
  #
@@ -46,6 +50,9 @@ module YASM
46
50
  # @param [Hash{Symbol => Object}] options
47
51
  # Additional options for yasm.
48
52
  #
53
+ # @param [Hash{Symbol => Object}] exec_options
54
+ # Additional exec-options.
55
+ #
49
56
  # @yield [task]
50
57
  # If a block is given, it will be passed a task object used to
51
58
  # specify options for yasm.
@@ -68,8 +75,11 @@ module YASM
68
75
  # yasm.output = 'code.o'
69
76
  # end
70
77
  #
71
- def assemble(options={},&block)
72
- run_task(Task.new(options,&block))
78
+ # @see http://rubydoc.info/gems/rprogram/0.3.0/RProgram/Program#run-instance_method
79
+ # For additional exec-options.
80
+ #
81
+ def assemble(options={},exec_options={},&block)
82
+ run_task(Task.new(options,&block),exec_options)
73
83
  end
74
84
 
75
85
  end
@@ -116,7 +116,7 @@ module YASM
116
116
 
117
117
  super(options,&block)
118
118
 
119
- self.target!(target) if target
119
+ target!(target) if target
120
120
  end
121
121
 
122
122
  #
@@ -1,4 +1,4 @@
1
1
  module YASM
2
2
  # ruby-yasm VERSION
3
- VERSION = '0.1.1'
3
+ VERSION = '0.2.0'
4
4
  end
@@ -1,73 +1,15 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
5
2
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{ruby-yasm}
8
- s.version = "0.1.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Postmodern"]
12
- s.date = %q{2010-04-15}
13
- s.description = %q{A Ruby interface to YASM.}
14
- s.email = %q{postmodern.mod3@gmail.com}
15
- s.extra_rdoc_files = [
16
- "ChangeLog.md",
17
- "LICENSE.txt",
18
- "README.md"
19
- ]
20
- s.files = [
21
- ".gitignore",
22
- ".specopts",
23
- ".yardopts",
24
- "ChangeLog.md",
25
- "LICENSE.txt",
26
- "README.md",
27
- "Rakefile",
28
- "lib/yasm.rb",
29
- "lib/yasm/program.rb",
30
- "lib/yasm/task.rb",
31
- "lib/yasm/version.rb",
32
- "ruby-yasm.gemspec",
33
- "spec/helpers/files.rb",
34
- "spec/helpers/files/gas.S",
35
- "spec/program_spec.rb",
36
- "spec/spec_helper.rb",
37
- "spec/task_spec.rb",
38
- "spec/yasm_spec.rb"
39
- ]
40
- s.has_rdoc = %q{yard}
41
- s.homepage = %q{http://github.com/sophsec/ruby-yasm}
42
- s.rdoc_options = ["--charset=UTF-8"]
43
- s.require_paths = ["lib"]
44
- s.rubygems_version = %q{1.3.6}
45
- s.summary = %q{A Ruby interface to YASM.}
46
- s.test_files = [
47
- "spec/spec_helper.rb",
48
- "spec/yasm_spec.rb",
49
- "spec/helpers/files.rb",
50
- "spec/program_spec.rb",
51
- "spec/task_spec.rb"
52
- ]
53
-
54
- if s.respond_to? :specification_version then
55
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
56
- s.specification_version = 3
57
-
58
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
59
- s.add_runtime_dependency(%q<rprogram>, ["~> 0.1.8"])
60
- s.add_development_dependency(%q<rspec>, ["~> 1.3.0"])
61
- s.add_development_dependency(%q<yard>, ["~> 0.5.3"])
62
- else
63
- s.add_dependency(%q<rprogram>, ["~> 0.1.8"])
64
- s.add_dependency(%q<rspec>, ["~> 1.3.0"])
65
- s.add_dependency(%q<yard>, ["~> 0.5.3"])
66
- end
67
- else
68
- s.add_dependency(%q<rprogram>, ["~> 0.1.8"])
69
- s.add_dependency(%q<rspec>, ["~> 1.3.0"])
70
- s.add_dependency(%q<yard>, ["~> 0.5.3"])
3
+ begin
4
+ Ore::Specification.new do |gemspec|
5
+ # custom logic here
6
+ end
7
+ rescue NameError
8
+ begin
9
+ require 'ore/specification'
10
+ retry
11
+ rescue LoadError
12
+ STDERR.puts "The 'ruby-yasm.gemspec' file requires Ore."
13
+ STDERR.puts "Run `gem install ore-core` to install Ore."
71
14
  end
72
15
  end
73
-
@@ -1,8 +1,9 @@
1
- require 'yasm/program'
2
-
3
1
  require 'spec_helper'
4
2
  require 'helpers/files'
5
3
 
4
+ require 'yasm/program'
5
+ require 'tempfile'
6
+
6
7
  describe Program do
7
8
  include Helpers::Files
8
9
 
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
- gem 'rspec', '>=1.3.0'
3
- require 'spec'
2
+ gem 'rspec', '~> 2.4'
3
+ require 'rspec'
4
4
 
5
5
  require 'yasm/version'
6
6
 
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-yasm
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 1
9
- version: 0.1.1
4
+ prerelease:
5
+ version: 0.2.0
10
6
  platform: ruby
11
7
  authors:
12
8
  - Postmodern
@@ -14,69 +10,71 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-04-15 00:00:00 -07:00
18
- default_executable:
13
+ date: 2011-04-11 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: rprogram
22
17
  prerelease: false
23
18
  requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
24
20
  requirements:
25
21
  - - ~>
26
22
  - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 1
30
- - 8
31
- version: 0.1.8
23
+ version: "0.3"
32
24
  type: :runtime
33
25
  version_requirements: *id001
34
26
  - !ruby/object:Gem::Dependency
35
- name: rspec
27
+ name: ore-tasks
36
28
  prerelease: false
37
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
38
31
  requirements:
39
32
  - - ~>
40
33
  - !ruby/object:Gem::Version
41
- segments:
42
- - 1
43
- - 3
44
- - 0
45
- version: 1.3.0
34
+ version: "0.4"
46
35
  type: :development
47
36
  version_requirements: *id002
48
37
  - !ruby/object:Gem::Dependency
49
- name: yard
38
+ name: rspec
50
39
  prerelease: false
51
40
  requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
52
42
  requirements:
53
43
  - - ~>
54
44
  - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- - 5
58
- - 3
59
- version: 0.5.3
45
+ version: "2.4"
60
46
  type: :development
61
47
  version_requirements: *id003
62
- description: A Ruby interface to YASM.
63
- email: postmodern.mod3@gmail.com
48
+ - !ruby/object:Gem::Dependency
49
+ name: yard
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: 0.6.0
57
+ type: :development
58
+ version_requirements: *id004
59
+ description: ruby-yasm provides a Ruby interface to YASM assembler.
60
+ email:
61
+ - postmodern.mod3@gmail.com
64
62
  executables: []
65
63
 
66
64
  extensions: []
67
65
 
68
66
  extra_rdoc_files:
69
- - ChangeLog.md
70
- - LICENSE.txt
71
67
  - README.md
72
68
  files:
73
- - .gitignore
69
+ - .gemtest
70
+ - .rspec
74
71
  - .specopts
75
72
  - .yardopts
76
73
  - ChangeLog.md
77
74
  - LICENSE.txt
78
75
  - README.md
79
76
  - Rakefile
77
+ - gemspec.yml
80
78
  - lib/yasm.rb
81
79
  - lib/yasm/program.rb
82
80
  - lib/yasm/task.rb
@@ -88,39 +86,34 @@ files:
88
86
  - spec/spec_helper.rb
89
87
  - spec/task_spec.rb
90
88
  - spec/yasm_spec.rb
91
- has_rdoc: yard
92
89
  homepage: http://github.com/sophsec/ruby-yasm
93
- licenses: []
94
-
90
+ licenses:
91
+ - MIT
95
92
  post_install_message:
96
- rdoc_options:
97
- - --charset=UTF-8
93
+ rdoc_options: []
94
+
98
95
  require_paths:
99
96
  - lib
100
97
  required_ruby_version: !ruby/object:Gem::Requirement
98
+ none: false
101
99
  requirements:
102
100
  - - ">="
103
101
  - !ruby/object:Gem::Version
104
- segments:
105
- - 0
106
102
  version: "0"
107
103
  required_rubygems_version: !ruby/object:Gem::Requirement
104
+ none: false
108
105
  requirements:
109
106
  - - ">="
110
107
  - !ruby/object:Gem::Version
111
- segments:
112
- - 0
113
108
  version: "0"
114
- requirements: []
115
-
116
- rubyforge_project:
117
- rubygems_version: 1.3.6
109
+ requirements:
110
+ - yasm >= 0.6.0
111
+ rubyforge_project: ruby-yasm
112
+ rubygems_version: 1.7.2
118
113
  signing_key:
119
114
  specification_version: 3
120
115
  summary: A Ruby interface to YASM.
121
116
  test_files:
122
- - spec/spec_helper.rb
123
- - spec/yasm_spec.rb
124
- - spec/helpers/files.rb
125
117
  - spec/program_spec.rb
118
+ - spec/yasm_spec.rb
126
119
  - spec/task_spec.rb
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- doc
2
- pkg
3
- tmp/*
4
- scripts/*_wordlist.txt
5
- .yardoc
6
- .DS_Store
7
- *.db
8
- *.log
9
- *.swp
10
- *~