rbml 0.0.5.9.3.4 → 0.0.5.9.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,6 +3,10 @@ cli :name=>"happycli", :prompt=>"^_^ " do
3
3
  puts "unknown command: called #{method} with #{args}"
4
4
  end
5
5
 
6
+ set :check do
7
+ puts make_sure('do you really want to do that?')
8
+ end
9
+
6
10
  set :com do |args|
7
11
  flag(:help => 'h'){
8
12
  puts 'help docs for this command'
@@ -25,6 +29,17 @@ cli :name=>"happycli", :prompt=>"^_^ " do
25
29
  puts "\nactive options: #{active_options}"
26
30
  end
27
31
 
32
+ set :fate do
33
+ case choice('please choose your fate: ', ['happy', 'sad', 'random', 'happenstance'])
34
+ when 'happy' : puts 'this is fantastic!'
35
+ when 'happenstance' : puts 'this is how things go'
36
+ when 'sad' : puts 'aww, your doggie died!'
37
+ when 'random' : puts 'you turned 40 yesterday'
38
+ else
39
+ puts "\nyou made a stupid choice there, buddy"
40
+ end
41
+ end
42
+
28
43
  set :clear do
29
44
  system 'clear'
30
45
  end
@@ -19,14 +19,14 @@ module Rbml
19
19
 
20
20
  def tags; %w(body title head p div ul li html a br span h1 h2 h3 h4 h5 h6 strong img i u b pre kbd code cite strong em ins sup sub del table tr td th ol blockquote)end
21
21
 
22
- def stylesheets *sheets
22
+ def stylesheets dir, *sheets
23
23
  all_sheets = ''
24
- sheets.each {|sheet| all_sheets << stylesheet(sheet)}
24
+ sheets.each {|sheet| all_sheets << stylesheet(dir, sheet)}
25
25
  all_sheets
26
26
  end
27
27
 
28
- def stylesheet what
29
- "<link rel='stylesheet' href='/stylesheets/#{what}.css' type='text/css' />"
28
+ def stylesheet dir, what
29
+ "<link rel='stylesheet' href='#{dir}#{what}.css' type='text/css' />"
30
30
  end
31
31
 
32
32
  def doctype(options)
@@ -8,10 +8,10 @@ module Rbml
8
8
  end
9
9
 
10
10
  def instance_eval_each(code, &blk)
11
- $breaker = BlockBreaker.new do |name, args, block|
11
+ @breaker = BlockBreaker.new do |name, args, block|
12
12
  yield @dsl.__send__(name, *args, &block)
13
13
  end
14
- $breaker.__instance_eval__ &code
14
+ @breaker.__instance_eval__ &code
15
15
  end
16
16
  end
17
17
  end
@@ -11,7 +11,30 @@ end
11
11
  module CliTools
12
12
  def request_value words=nil
13
13
  printf words+' ' if words
14
- $stdin.gets
14
+ $stdin.gets.chop
15
+ end
16
+
17
+ def make_sure words='', default='Y', other='n'
18
+ answer = request_value(words+" [#{default}/#{other}]")
19
+ return true if answer==''
20
+ if answer.downcase == default.downcase or answer.downcase == other.downcase
21
+ return answer.downcase == default.downcase
22
+ else
23
+ return make_sure(words, default, other)
24
+ end
25
+ end
26
+
27
+ def choice say, array, with=nil
28
+ return nil if with == $/
29
+ with||=''
30
+ new_array = []
31
+ array.size.times do |i|
32
+ if (array[i]=~/#{with}/) || (with.to_i==i+1)
33
+ new_array << "#{array[i]}"
34
+ puts "\t#{new_array.size}: #{new_array.last}"
35
+ end
36
+ end
37
+ new_array.empty? ? nil : (new_array.size==1 ? new_array.first : choice(say, new_array, request_value(say)))
15
38
  end
16
39
  end
17
40
 
@@ -132,9 +155,7 @@ module Flagger
132
155
  end
133
156
 
134
157
  def active_options
135
- flags = @active_flags || {}
136
- keys = @active_keys || {}
137
- flags.merge keys
158
+ active_flags.merge active_keys
138
159
  end
139
160
  def remaining_arguments
140
161
  @remaining_argument||[]
@@ -143,6 +164,13 @@ module Flagger
143
164
  @remaining_argument.join(' ')
144
165
  end
145
166
 
167
+ def active_keys
168
+ @active_keys || {}
169
+ end
170
+
171
+ def active_flags
172
+ @active_flags || {}
173
+ end
146
174
  end
147
175
 
148
176
 
@@ -2,7 +2,7 @@ $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)) + "/../languages")
2
2
  $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  module Rbml
5
- VERSION = '0.0.5.9.3.4'
5
+ VERSION = '0.0.5.9.4'
6
6
  end
7
7
  require 'extensions/kernel'
8
8
  require 'extensions/primitives'
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: rbml
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.5.9.3.4
7
- date: 2007-05-02 00:00:00 -04:00
6
+ version: 0.0.5.9.4
7
+ date: 2007-05-31 00:00:00 -04:00
8
8
  summary: Rbml is a dsl framework for writing other languages in ruby
9
9
  require_paths:
10
10
  - lib