tagen 1.1.7 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -1
 - data/.travis.yml +5 -0
 - data/CHANGELOG +6 -0
 - data/Gemfile +2 -3
 - data/Gemfile.lock +13 -15
 - data/README.md +20 -39
 - data/Rakefile +2 -1
 - data/benchmark/a.rb +14 -0
 - data/lib/tagen/core.rb +17 -22
 - data/lib/tagen/core/array.rb +5 -109
 - data/lib/tagen/core/array/append.rb +3 -0
 - data/lib/tagen/core/array/delete_values.rb +43 -0
 - data/lib/tagen/core/array/extract_options.rb +35 -94
 - data/lib/tagen/core/class.rb +1 -0
 - data/lib/tagen/core/enumerable.rb +15 -18
 - data/lib/tagen/core/enumerator.rb +22 -12
 - data/lib/tagen/core/exception.rb +5 -3
 - data/lib/tagen/core/file.rb +1 -0
 - data/lib/tagen/core/hash.rb +4 -39
 - data/lib/tagen/core/integer.rb +2 -0
 - data/lib/tagen/core/io.rb +59 -26
 - data/lib/tagen/core/kernel.rb +5 -64
 - data/lib/tagen/core/kernel/deprecate.rb +5 -0
 - data/lib/tagen/core/kernel/platform.rb +46 -0
 - data/lib/tagen/core/kernel/shell.rb +45 -0
 - data/lib/tagen/core/module.rb +9 -11
 - data/lib/tagen/core/numeric.rb +4 -2
 - data/lib/tagen/core/object.rb +6 -21
 - data/lib/tagen/core/process.rb +6 -4
 - data/lib/tagen/core/re.rb +2 -2
 - data/lib/tagen/core/string.rb +12 -47
 - data/lib/tagen/core/time.rb +30 -38
 - data/lib/tagen/erb.rb +10 -8
 - data/lib/tagen/net/http.rb +33 -29
 - data/lib/tagen/pathname.rb +1 -5
 - data/lib/tagen/rbconfig.rb +8 -0
 - data/lib/tagen/socket.rb +8 -2
 - data/lib/tagen/uri.rb +9 -0
 - data/lib/tagen/version.rb +1 -1
 - data/lib/tagen/vim.rb +8 -8
 - data/lib/tagen/xmpp4r.rb +23 -23
 - data/spec/spec_helper.rb +23 -17
 - data/spec/tagen/core/array/delete_values_spec.rb +19 -0
 - data/spec/tagen/core/array/extract_options_spec.rb +9 -29
 - data/spec/tagen/core/enumerable_spec.rb +9 -0
 - data/spec/tagen/core/enumerator_spec.rb +10 -12
 - data/spec/tagen/core/exception_spec.rb +14 -9
 - data/spec/tagen/core/io_spec.rb +20 -0
 - data/spec/tagen/core/kernel/platform_spec.rb +92 -0
 - data/spec/tagen/core/kernel/shell_spec.rb +27 -0
 - data/spec/tagen/core/numeric_spec.rb +10 -0
 - data/spec/tagen/core/process_spec.rb +14 -0
 - data/spec/tagen/core/re_spec.rb +9 -0
 - data/spec/tagen/core/string_spec.rb +9 -0
 - data/spec/tagen/core/time_spec.rb +6 -51
 - data/spec/tagen/erb_spec.rb +3 -10
 - data/spec/tagen/pathname_spec.rb +11 -0
 - data/spec/tagen/rbconfig_spec.rb +11 -0
 - data/spec/tagen/socket_spec.rb +7 -5
 - data/spec/tagen/uri_spec.rb +13 -0
 - data/tagen.gemspec +3 -4
 - metadata +45 -51
 - data/TODO +0 -1
 - data/docs/Architecture.md +0 -17
 - data/docs/CoreExtensions.md +0 -40
 - data/docs/ExtraExtensions.md +0 -20
 - data/lib/tagen/RMagick.rb +0 -12
 - data/lib/tagen/audioinfo.rb +0 -22
 - data/lib/tagen/cairo.rb +0 -811
 - data/lib/tagen/core/extend_hash.rb +0 -46
 - data/lib/tagen/core/marshal.rb +0 -34
 - data/lib/tagen/core/open_option.rb +0 -161
 - data/lib/tagen/core/string/pyformat.rb +0 -336
 - data/lib/tagen/core/symbol.rb +0 -8
 - data/lib/tagen/date.rb +0 -80
 - data/lib/tagen/gdk_pixbuf2.rb +0 -26
 - data/lib/tagen/gtk2.rb +0 -122
 - data/lib/tagen/ncurses.rb +0 -246
 - data/lib/tagen/poppler.rb +0 -48
 - data/lib/tagen/tree.rb +0 -77
 - data/lib/tagen/xmpp4r/roster.rb +0 -20
 - data/lib/tagen/yaml.rb +0 -38
 - data/spec/tagen/cairo_spec.rb +0 -137
 - data/spec/tagen/core/array_spec.rb +0 -42
 - data/spec/tagen/core/extend_hash_spec.rb +0 -54
 - data/spec/tagen/core/hash_spec.rb +0 -10
 - data/spec/tagen/core/module_spec.rb +0 -14
 - data/spec/tagen/core/open_option_spec.rb +0 -83
 - data/spec/tagen/core/string/pyformat_spec.rb +0 -98
 - data/spec/tagen/core/symbol_spec.rb +0 -15
 - data/spec/tagen/core_spec.rb +0 -6
 - data/spec/tagen/date_spec.rb +0 -146
 
    
        data/lib/tagen/poppler.rb
    DELETED
    
    | 
         @@ -1,48 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "poppler"
         
     | 
| 
       2 
     | 
    
         
            -
            =begin
         
     | 
| 
       3 
     | 
    
         
            -
            * **Install**: Ruby-Gnome
         
     | 
| 
       4 
     | 
    
         
            -
            =end
         
     | 
| 
       5 
     | 
    
         
            -
            module Poppler 
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            =begin
         
     | 
| 
       8 
     | 
    
         
            -
            Additional Method List
         
     | 
| 
       9 
     | 
    
         
            -
            ---------------------
         
     | 
| 
       10 
     | 
    
         
            -
            * \#npages: _alias from size_
         
     | 
| 
       11 
     | 
    
         
            -
            =end
         
     | 
| 
       12 
     | 
    
         
            -
            class Document
         
     | 
| 
       13 
     | 
    
         
            -
            	alias npages size
         
     | 
| 
       14 
     | 
    
         
            -
            	# get width height
         
     | 
| 
       15 
     | 
    
         
            -
            	def wh; self[0].size end
         
     | 
| 
       16 
     | 
    
         
            -
            	# get width
         
     | 
| 
       17 
     | 
    
         
            -
            	def w; wh[0] end
         
     | 
| 
       18 
     | 
    
         
            -
            	# get height
         
     | 
| 
       19 
     | 
    
         
            -
            	def h; wh[1] end
         
     | 
| 
       20 
     | 
    
         
            -
            end # class Document
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            =begin
         
     | 
| 
       23 
     | 
    
         
            -
            Additional Method List
         
     | 
| 
       24 
     | 
    
         
            -
            ----------------------
         
     | 
| 
       25 
     | 
    
         
            -
            * \#wh: _alias from size_
         
     | 
| 
       26 
     | 
    
         
            -
            =end
         
     | 
| 
       27 
     | 
    
         
            -
            class Page
         
     | 
| 
       28 
     | 
    
         
            -
            	alias wh size
         
     | 
| 
       29 
     | 
    
         
            -
            	# get width
         
     | 
| 
       30 
     | 
    
         
            -
            	def w; size[0] end
         
     | 
| 
       31 
     | 
    
         
            -
            	# get height
         
     | 
| 
       32 
     | 
    
         
            -
            	def h; size[1] end
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
            	# used when 'cairo' is installed
         
     | 
| 
       35 
     | 
    
         
            -
            	#
         
     | 
| 
       36 
     | 
    
         
            -
            	# @return [Cairo::Context]
         
     | 
| 
       37 
     | 
    
         
            -
            	def cairo_context
         
     | 
| 
       38 
     | 
    
         
            -
            		require "cairo"
         
     | 
| 
       39 
     | 
    
         
            -
            		require_relative "cairo"
         
     | 
| 
       40 
     | 
    
         
            -
            		surface = Cairo::ImageSurface.new(*self.wh)
         
     | 
| 
       41 
     | 
    
         
            -
            		ctx = Cairo::Context.new(surface)
         
     | 
| 
       42 
     | 
    
         
            -
            		render(ctx)
         
     | 
| 
       43 
     | 
    
         
            -
            		ctx
         
     | 
| 
       44 
     | 
    
         
            -
            	end # def cairo_context
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            end # class Page
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            end # module Poppler
         
     | 
    
        data/lib/tagen/tree.rb
    DELETED
    
    | 
         @@ -1,77 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "tree"
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            =begin
         
     | 
| 
       4 
     | 
    
         
            -
            * **Install**: gem(rubytree)
         
     | 
| 
       5 
     | 
    
         
            -
            =end
         
     | 
| 
       6 
     | 
    
         
            -
            module Tree
         
     | 
| 
       7 
     | 
    
         
            -
            	Fatal = Class.new Exception
         
     | 
| 
       8 
     | 
    
         
            -
            	Error = Class.new Exception
         
     | 
| 
       9 
     | 
    
         
            -
            	ENoNode = Class.new Error
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            	class TreeNode
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            		# get a Node name
         
     | 
| 
       14 
     | 
    
         
            -
            		def get name
         
     | 
| 
       15 
     | 
    
         
            -
                  return name if self.class===name
         
     | 
| 
       16 
     | 
    
         
            -
            			treetage = Array===name ? name : name.split(/ +/)
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                  treetage.gach self.root do |n,i,m|
         
     | 
| 
       19 
     | 
    
         
            -
                    if m[n]
         
     | 
| 
       20 
     | 
    
         
            -
                      m[n]
         
     | 
| 
       21 
     | 
    
         
            -
                    else
         
     | 
| 
       22 
     | 
    
         
            -
                      raise ENoNode, "'#{n}` node doesn't exists for root `#{root.name}'"
         
     | 
| 
       23 
     | 
    
         
            -
                    end
         
     | 
| 
       24 
     | 
    
         
            -
                  end
         
     | 
| 
       25 
     | 
    
         
            -
            		end
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            		# set a Node name
         
     | 
| 
       28 
     | 
    
         
            -
            		def name= name
         
     | 
| 
       29 
     | 
    
         
            -
            			old = @name
         
     | 
| 
       30 
     | 
    
         
            -
            			@name = name
         
     | 
| 
       31 
     | 
    
         
            -
            			children_hash = parent.instance_variable.get :@children_hash
         
     | 
| 
       32 
     | 
    
         
            -
            			children_hash.delete old
         
     | 
| 
       33 
     | 
    
         
            -
            			children_hash[@name] = self
         
     | 
| 
       34 
     | 
    
         
            -
            		end
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            		alias original_parentage parentage
         
     | 
| 
       37 
     | 
    
         
            -
            		# * default return nil for root
         
     | 
| 
       38 
     | 
    
         
            -
            		# * now return [] for root
         
     | 
| 
       39 
     | 
    
         
            -
            		def parentage
         
     | 
| 
       40 
     | 
    
         
            -
            			is_root? ? [] : original_parentage
         
     | 
| 
       41 
     | 
    
         
            -
            		end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
            		# parentage in reverse
         
     | 
| 
       44 
     | 
    
         
            -
            		# @see parentage
         
     | 
| 
       45 
     | 
    
         
            -
            		def treetage
         
     | 
| 
       46 
     | 
    
         
            -
            			([self.name] + self.parentage.map{|v| v.name}).reverse[1..-1]
         
     | 
| 
       47 
     | 
    
         
            -
            		end
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
            		# return "a b c"
         
     | 
| 
       50 
     | 
    
         
            -
            		def treename
         
     | 
| 
       51 
     | 
    
         
            -
            			self.treetage.join(" ")
         
     | 
| 
       52 
     | 
    
         
            -
            		end
         
     | 
| 
       53 
     | 
    
         
            -
                  
         
     | 
| 
       54 
     | 
    
         
            -
            		def __compare other
         
     | 
| 
       55 
     | 
    
         
            -
            			raise ArgumentError, "comparison '{self}` with '{other}` failed"
         
     | 
| 
       56 
     | 
    
         
            -
            				.format(self.class, other) unless self.class === other
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
            			a = self.treetage
         
     | 
| 
       59 
     | 
    
         
            -
            			b = other.treetage
         
     | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
       61 
     | 
    
         
            -
            			if a.length==b.length
         
     | 
| 
       62 
     | 
    
         
            -
            				return 0 if a==b
         
     | 
| 
       63 
     | 
    
         
            -
            			elsif a.length < b.length
         
     | 
| 
       64 
     | 
    
         
            -
            				return 1 if a==b[0...a.length]
         
     | 
| 
       65 
     | 
    
         
            -
            			elsif a.length>b.length
         
     | 
| 
       66 
     | 
    
         
            -
            				return -1 if a[0...b.length]==b
         
     | 
| 
       67 
     | 
    
         
            -
            			end
         
     | 
| 
       68 
     | 
    
         
            -
            		end
         
     | 
| 
       69 
     | 
    
         
            -
             
     | 
| 
       70 
     | 
    
         
            -
            		# is same node ?
         
     | 
| 
       71 
     | 
    
         
            -
            		def same?(other) __compare(other)==0 ? true : false end
         
     | 
| 
       72 
     | 
    
         
            -
            		def ancestor_of?(other) __compare(other)==1 ? true : false end
         
     | 
| 
       73 
     | 
    
         
            -
            		def descendant_of?(other) __compare(other)==-1 ? true : false end
         
     | 
| 
       74 
     | 
    
         
            -
            		def ancestor_in?(other) [0, 1].include?(__compare(other)) ? true : false end
         
     | 
| 
       75 
     | 
    
         
            -
            		def descendant_in?(other) [0,-1].include?(__compare(other)) ? true : false end
         
     | 
| 
       76 
     | 
    
         
            -
            	end
         
     | 
| 
       77 
     | 
    
         
            -
            end
         
     | 
    
        data/lib/tagen/xmpp4r/roster.rb
    DELETED
    
    | 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            =begin
         
     | 
| 
       2 
     | 
    
         
            -
            * **Install**: gem(xmpp4r)
         
     | 
| 
       3 
     | 
    
         
            -
            added:
         
     | 
| 
       4 
     | 
    
         
            -
            	#unsubscribe
         
     | 
| 
       5 
     | 
    
         
            -
            =end
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            module Jabber
         
     | 
| 
       8 
     | 
    
         
            -
            module Roster
         
     | 
| 
       9 
     | 
    
         
            -
            class Helper
         
     | 
| 
       10 
     | 
    
         
            -
            	class RosterItem
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            		# unsubscribe an item
         
     | 
| 
       13 
     | 
    
         
            -
            		def unsubscribe
         
     | 
| 
       14 
     | 
    
         
            -
            			pres = Presence.new.set_type(:unsubscribe).set_to(jid.strip)
         
     | 
| 
       15 
     | 
    
         
            -
            			@stream.send(pres) 
         
     | 
| 
       16 
     | 
    
         
            -
            		end
         
     | 
| 
       17 
     | 
    
         
            -
            	end # class RosterItem
         
     | 
| 
       18 
     | 
    
         
            -
            end # Helper
         
     | 
| 
       19 
     | 
    
         
            -
            end # module Roster
         
     | 
| 
       20 
     | 
    
         
            -
            end # module Jabber
         
     | 
    
        data/lib/tagen/yaml.rb
    DELETED
    
    | 
         @@ -1,38 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "yaml"
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            =begin
         
     | 
| 
       4 
     | 
    
         
            -
            support #respond_to?(:path). e.g. Pa
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              YAML.load(Pa('/tmp/a'))
         
     | 
| 
       7 
     | 
    
         
            -
            	YAML.dump("x", Pa('/tmp/a'))
         
     | 
| 
       8 
     | 
    
         
            -
            =end
         
     | 
| 
       9 
     | 
    
         
            -
            module YAML
         
     | 
| 
       10 
     | 
    
         
            -
            	class << self
         
     | 
| 
       11 
     | 
    
         
            -
            		alias original_load load
         
     | 
| 
       12 
     | 
    
         
            -
            		alias original_dump dump
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            		# add #path support 
         
     | 
| 
       15 
     | 
    
         
            -
            		# @param [String,IO,#path] path
         
     | 
| 
       16 
     | 
    
         
            -
            		def load path
         
     | 
| 
       17 
     | 
    
         
            -
            			if path.respond_to?(:path)
         
     | 
| 
       18 
     | 
    
         
            -
            				path = path.path
         
     | 
| 
       19 
     | 
    
         
            -
            				open(path){|f| original_load(f)}
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            			else
         
     | 
| 
       22 
     | 
    
         
            -
            				original_load path
         
     | 
| 
       23 
     | 
    
         
            -
            			end
         
     | 
| 
       24 
     | 
    
         
            -
            		end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
            		# add String, #path support 
         
     | 
| 
       27 
     | 
    
         
            -
            		# @param [String,IO,#path] path
         
     | 
| 
       28 
     | 
    
         
            -
            		def dump obj, path
         
     | 
| 
       29 
     | 
    
         
            -
            			if path.respond_to?(:path)
         
     | 
| 
       30 
     | 
    
         
            -
            				path = path.path
         
     | 
| 
       31 
     | 
    
         
            -
            				open(path, "w+"){|f| original_dump(obj, f)}
         
     | 
| 
       32 
     | 
    
         
            -
            			else
         
     | 
| 
       33 
     | 
    
         
            -
            				original_dump obj, path
         
     | 
| 
       34 
     | 
    
         
            -
            			end
         
     | 
| 
       35 
     | 
    
         
            -
            		end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            	end
         
     | 
| 
       38 
     | 
    
         
            -
            end
         
     | 
    
        data/spec/tagen/cairo_spec.rb
    DELETED
    
    | 
         @@ -1,137 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            =begin
         
     | 
| 
       2 
     | 
    
         
            -
            require "tagen/cairo"
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            include Cairo
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            tmpdir = Gile.dirname(__FILE__)+"/tmp"
         
     | 
| 
       7 
     | 
    
         
            -
            Gile.rmdir!(tmpdir)
         
     | 
| 
       8 
     | 
    
         
            -
            Gile.mkdir(tmpdir)
         
     | 
| 
       9 
     | 
    
         
            -
            Gile.chdir(tmpdir)
         
     | 
| 
       10 
     | 
    
         
            -
            #}}}1
         
     | 
| 
       11 
     | 
    
         
            -
            DEBUG[0] = true
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            		Test.skip do
         
     | 
| 
       14 
     | 
    
         
            -
            skip :table
         
     | 
| 
       15 
     | 
    
         
            -
            		end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            class Test_Context < Test
         
     | 
| 
       18 
     | 
    
         
            -
            		def test_du #{{{1
         
     | 
| 
       19 
     | 
    
         
            -
            		# (x_str,nil) (nil,y_str) (x_str, y_str), (x,y)
         
     | 
| 
       20 
     | 
    
         
            -
            cr = Context.new(ImageSurface.new(200,200))
         
     | 
| 
       21 
     | 
    
         
            -
            cr.scale(2,4)
         
     | 
| 
       22 
     | 
    
         
            -
            cr.translate(10,10)
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            assert_equal 1, cr.tdu(2)
         
     | 
| 
       25 
     | 
    
         
            -
            assert_equal 1, cr.tdu(nil, 4)
         
     | 
| 
       26 
     | 
    
         
            -
            assert_equal [1,1], cr.tdu(2,4)
         
     | 
| 
       27 
     | 
    
         
            -
            assert_equal [0,0], cr.du(20, 40)
         
     | 
| 
       28 
     | 
    
         
            -
            		end # test_du
         
     | 
| 
       29 
     | 
    
         
            -
            #}}}1
         
     | 
| 
       30 
     | 
    
         
            -
            		def test___pos  #< du #{{{1
         
     | 
| 
       31 
     | 
    
         
            -
            cr = Context.new(ImageSurface.new(200,200))
         
     | 
| 
       32 
     | 
    
         
            -
            cr.translate(2,4)
         
     | 
| 
       33 
     | 
    
         
            -
            cr.scale(2,4)
         
     | 
| 
       34 
     | 
    
         
            -
            __pos = cr.method(:__pos)
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            cr.xy 10,10
         
     | 
| 
       37 
     | 
    
         
            -
            assert_equal [0, 10], __pos.call(0, 10)
         
     | 
| 
       38 
     | 
    
         
            -
            assert_equal __pos.call(0, cr.du(nil,0)), __pos.call(0, :d0)
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
            cr.xy 10,10
         
     | 
| 
       41 
     | 
    
         
            -
            assert_equal [0, 20], __pos.call(0, "10")
         
     | 
| 
       42 
     | 
    
         
            -
            assert_equal [0, 10+cr.tdu(nil,10)], __pos.call(0, :r10)
         
     | 
| 
       43 
     | 
    
         
            -
            		end
         
     | 
| 
       44 
     | 
    
         
            -
            #}}}1
         
     | 
| 
       45 
     | 
    
         
            -
            		def test__angle #{{{1
         
     | 
| 
       46 
     | 
    
         
            -
            cr = Context.new(ImageSurface.new(200,200))
         
     | 
| 
       47 
     | 
    
         
            -
            __angle = cr.method(:__angle)
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
            assert_equal 10      , __angle.call("10")
         
     | 
| 
       50 
     | 
    
         
            -
            assert_equal [10, 10], __angle.call("10", "10")
         
     | 
| 
       51 
     | 
    
         
            -
            assert_equal [10*Math::PI/180.0, 10], __angle.call(10, "10")
         
     | 
| 
       52 
     | 
    
         
            -
            			end
         
     | 
| 
       53 
     | 
    
         
            -
            	#}}}1
         
     | 
| 
       54 
     | 
    
         
            -
            		def test_bak #{{{1
         
     | 
| 
       55 
     | 
    
         
            -
            cr = Context.new(ImageSurface.new(200,200))
         
     | 
| 
       56 
     | 
    
         
            -
            # xy
         
     | 
| 
       57 
     | 
    
         
            -
            cr.xy 0,0
         
     | 
| 
       58 
     | 
    
         
            -
            cr.bak(:xy) do
         
     | 
| 
       59 
     | 
    
         
            -
            	cr.xy 10,10
         
     | 
| 
       60 
     | 
    
         
            -
            end
         
     | 
| 
       61 
     | 
    
         
            -
            assert_equal [0,0], cr.xy
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            # translate
         
     | 
| 
       64 
     | 
    
         
            -
            cr.translate(3,3)
         
     | 
| 
       65 
     | 
    
         
            -
            cr.bak(:translate) do
         
     | 
| 
       66 
     | 
    
         
            -
            	cr.translate(10,10)
         
     | 
| 
       67 
     | 
    
         
            -
            end
         
     | 
| 
       68 
     | 
    
         
            -
            assert_equal [0,0], cr.du(3,3)
         
     | 
| 
       69 
     | 
    
         
            -
            cr.btranslate
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
            # scale
         
     | 
| 
       72 
     | 
    
         
            -
            cr.scale(2,4)
         
     | 
| 
       73 
     | 
    
         
            -
            cr.bak(:scale) do
         
     | 
| 
       74 
     | 
    
         
            -
            	cr.scale(2,4)
         
     | 
| 
       75 
     | 
    
         
            -
            end
         
     | 
| 
       76 
     | 
    
         
            -
            assert_equal [1,1], cr.tdu(2, 4)
         
     | 
| 
       77 
     | 
    
         
            -
            cr.dscale 1,1
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
            # matrix
         
     | 
| 
       80 
     | 
    
         
            -
            cr.scale(2,4)
         
     | 
| 
       81 
     | 
    
         
            -
            cr.translate(10,10)
         
     | 
| 
       82 
     | 
    
         
            -
            cr.bak(:matrix) do
         
     | 
| 
       83 
     | 
    
         
            -
            	cr.scale(2,4)
         
     | 
| 
       84 
     | 
    
         
            -
            	cr.translate(10,10)
         
     | 
| 
       85 
     | 
    
         
            -
            end
         
     | 
| 
       86 
     | 
    
         
            -
            assert_equal [0,0], cr.du(20,40)
         
     | 
| 
       87 
     | 
    
         
            -
            assert_equal [1,1], cr.tdu(2,4)
         
     | 
| 
       88 
     | 
    
         
            -
            cr.dscale 1,1
         
     | 
| 
       89 
     | 
    
         
            -
            cr.btranslate
         
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
            # size
         
     | 
| 
       92 
     | 
    
         
            -
            cr.size=10
         
     | 
| 
       93 
     | 
    
         
            -
            cr.bak(:size) do
         
     | 
| 
       94 
     | 
    
         
            -
            	cr.size=12
         
     | 
| 
       95 
     | 
    
         
            -
            end
         
     | 
| 
       96 
     | 
    
         
            -
            assert_equal 10, cr.size
         
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
            # all
         
     | 
| 
       99 
     | 
    
         
            -
            cr.size=10
         
     | 
| 
       100 
     | 
    
         
            -
            cr.xy 0,0
         
     | 
| 
       101 
     | 
    
         
            -
            cr.translate(3,3)
         
     | 
| 
       102 
     | 
    
         
            -
            cr.bak(:all) do
         
     | 
| 
       103 
     | 
    
         
            -
            	cr.xy 10,10
         
     | 
| 
       104 
     | 
    
         
            -
            	cr.translate(10,10)
         
     | 
| 
       105 
     | 
    
         
            -
            	cr.size=12
         
     | 
| 
       106 
     | 
    
         
            -
            end
         
     | 
| 
       107 
     | 
    
         
            -
            assert_equal [0,0], cr.xy
         
     | 
| 
       108 
     | 
    
         
            -
            assert_equal [0,0], cr.du(3,3)
         
     | 
| 
       109 
     | 
    
         
            -
            assert_equal 10, cr.size
         
     | 
| 
       110 
     | 
    
         
            -
            		end # def test_bak
         
     | 
| 
       111 
     | 
    
         
            -
            #}}}1
         
     | 
| 
       112 
     | 
    
         
            -
            		def test_table #{{{1
         
     | 
| 
       113 
     | 
    
         
            -
            wh=[400,400]
         
     | 
| 
       114 
     | 
    
         
            -
            img = Cairo::ImageSurface.new(*wh)
         
     | 
| 
       115 
     | 
    
         
            -
            cr = Cairo::Context.new(img)
         
     | 
| 
       116 
     | 
    
         
            -
            cr.scale(*wh)
         
     | 
| 
       117 
     | 
    
         
            -
            cr.rectangle(0,0,1,1); cr.stroke
         
     | 
| 
       118 
     | 
    
         
            -
            cr.font= "iYahei"
         
     | 
| 
       119 
     | 
    
         
            -
            #============
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            datas = [
         
     | 
| 
       122 
     | 
    
         
            -
            	["你好","tag"],
         
     | 
| 
       123 
     | 
    
         
            -
            	["你好","tag"],
         
     | 
| 
       124 
     | 
    
         
            -
            ]
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
            cr.dxy 20,20
         
     | 
| 
       127 
     | 
    
         
            -
            cr.table(datas[0], border:1)
         
     | 
| 
       128 
     | 
    
         
            -
            cr.dry 20
         
     | 
| 
       129 
     | 
    
         
            -
            cr.table(datas, border:1)
         
     | 
| 
       130 
     | 
    
         
            -
            #============
         
     | 
| 
       131 
     | 
    
         
            -
            img.write("a.png")
         
     | 
| 
       132 
     | 
    
         
            -
            `pic a.png` 
         
     | 
| 
       133 
     | 
    
         
            -
            		end
         
     | 
| 
       134 
     | 
    
         
            -
            #}}}1
         
     | 
| 
       135 
     | 
    
         
            -
            end
         
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
            =end
         
     | 
| 
         @@ -1,42 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "spec_helper"
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Array do
         
     | 
| 
       4 
     | 
    
         
            -
            	describe "#first!" do
         
     | 
| 
       5 
     | 
    
         
            -
            		it "runs ok" do
         
     | 
| 
       6 
     | 
    
         
            -
            			a = [0, 1, 2]
         
     | 
| 
       7 
     | 
    
         
            -
            			a.first!(2).should == [0, 1]
         
     | 
| 
       8 
     | 
    
         
            -
            			a.should == [2]
         
     | 
| 
       9 
     | 
    
         
            -
            		end
         
     | 
| 
       10 
     | 
    
         
            -
            	end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            	describe "#last!" do
         
     | 
| 
       13 
     | 
    
         
            -
            		it "runs ok" do
         
     | 
| 
       14 
     | 
    
         
            -
            			a = [0, 1, 2]
         
     | 
| 
       15 
     | 
    
         
            -
            			a.last!(2).should == [1, 2]
         
     | 
| 
       16 
     | 
    
         
            -
            			a.should == [0]
         
     | 
| 
       17 
     | 
    
         
            -
            		end
         
     | 
| 
       18 
     | 
    
         
            -
            	end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            	describe "#find!" do
         
     | 
| 
       21 
     | 
    
         
            -
            		it "runs ok" do
         
     | 
| 
       22 
     | 
    
         
            -
            			a = [0, 1, 2]
         
     | 
| 
       23 
     | 
    
         
            -
            			a.find!{|v| v==1}.should == 1
         
     | 
| 
       24 
     | 
    
         
            -
            			a.should == [0,2]
         
     | 
| 
       25 
     | 
    
         
            -
            		end
         
     | 
| 
       26 
     | 
    
         
            -
            	end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
            	describe "#find_all!" do
         
     | 
| 
       29 
     | 
    
         
            -
            		it "runs ok" do
         
     | 
| 
       30 
     | 
    
         
            -
            			a = [0, 1, 2]
         
     | 
| 
       31 
     | 
    
         
            -
            			a.find_all!{|v| v==0 or v ==2}.should == [0,2]
         
     | 
| 
       32 
     | 
    
         
            -
            			a.should == [1]
         
     | 
| 
       33 
     | 
    
         
            -
            		end
         
     | 
| 
       34 
     | 
    
         
            -
            	end
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
              #describe "#grep" do
         
     | 
| 
       37 
     | 
    
         
            -
                #it "supports array as an argument" do
         
     | 
| 
       38 
     | 
    
         
            -
                  #a = [:a, :b, :c]
         
     | 
| 
       39 
     | 
    
         
            -
                  #a.grep([:a, :b]).should == [:a, :b]
         
     | 
| 
       40 
     | 
    
         
            -
                #end
         
     | 
| 
       41 
     | 
    
         
            -
              #end
         
     | 
| 
       42 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,54 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "spec_helper"
         
     | 
| 
       2 
     | 
    
         
            -
            require "tagen/core/extend_hash"
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            class ExtendHash
         
     | 
| 
       5 
     | 
    
         
            -
              class << self
         
     | 
| 
       6 
     | 
    
         
            -
                public :deep_convert
         
     | 
| 
       7 
     | 
    
         
            -
              end
         
     | 
| 
       8 
     | 
    
         
            -
            end
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            describe ExtendHash do
         
     | 
| 
       11 
     | 
    
         
            -
              describe ".deep_convert" do 
         
     | 
| 
       12 
     | 
    
         
            -
                it "convert string key to symbol key" do
         
     | 
| 
       13 
     | 
    
         
            -
                  ExtendHash.deep_convert({"a" => 1, "b" => {"c" => 2}}).should == {a: 1, b: {c: 2}}
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
              end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              describe ".[]" do
         
     | 
| 
       18 
     | 
    
         
            -
                it "convert Hash to ExtendHash with string key" do
         
     | 
| 
       19 
     | 
    
         
            -
                  ret = ExtendHash[a: 1, "b" => 2]
         
     | 
| 
       20 
     | 
    
         
            -
                  ret.should == {a: 1, b: 2}
         
     | 
| 
       21 
     | 
    
         
            -
                end
         
     | 
| 
       22 
     | 
    
         
            -
              end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              describe "#[]" do
         
     | 
| 
       25 
     | 
    
         
            -
                it "convert string-key to symbol-key" do
         
     | 
| 
       26 
     | 
    
         
            -
                  h = ExtendHash.new
         
     | 
| 
       27 
     | 
    
         
            -
                  h.store(:ok, 1)
         
     | 
| 
       28 
     | 
    
         
            -
                  h["ok"].should == 1
         
     | 
| 
       29 
     | 
    
         
            -
                end
         
     | 
| 
       30 
     | 
    
         
            -
              end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              describe "#[]=" do
         
     | 
| 
       33 
     | 
    
         
            -
                it "convert string-key to symbol-key" do
         
     | 
| 
       34 
     | 
    
         
            -
                  h = ExtendHash.new
         
     | 
| 
       35 
     | 
    
         
            -
                  h["ok"] = 1
         
     | 
| 
       36 
     | 
    
         
            -
                  h[:ok] = 1
         
     | 
| 
       37 
     | 
    
         
            -
                end
         
     | 
| 
       38 
     | 
    
         
            -
              end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              describe "#method_missing" do
         
     | 
| 
       41 
     | 
    
         
            -
                it "#key" do
         
     | 
| 
       42 
     | 
    
         
            -
                  h = ExtendHash.new
         
     | 
| 
       43 
     | 
    
         
            -
                  h[:ok] = 1
         
     | 
| 
       44 
     | 
    
         
            -
                  h.ok.should == 1
         
     | 
| 
       45 
     | 
    
         
            -
                end
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
                it "#key=" do
         
     | 
| 
       48 
     | 
    
         
            -
                  h = ExtendHash.new
         
     | 
| 
       49 
     | 
    
         
            -
                  h.ok = 1
         
     | 
| 
       50 
     | 
    
         
            -
                  h.ok.should == 1
         
     | 
| 
       51 
     | 
    
         
            -
                end
         
     | 
| 
       52 
     | 
    
         
            -
              end
         
     | 
| 
       53 
     | 
    
         
            -
            end
         
     | 
| 
       54 
     | 
    
         
            -
             
     |