simplevpim 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/simplevpim.rb +28 -12
- metadata +24 -4
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0df24d09c743af64bf2d92cddeb6cddd562983a2
         | 
| 4 | 
            +
              data.tar.gz: 8bd4c70e5aedacd6123231ba34cafe33e0620935
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 15d735c9463a72ad18e245465c99f36b131f2b0d371835885ce8451f87b0ec26a7792c66578a27f8dd2ab5507eb983c51e32eb3551fe7546bb877314d72223ba
         | 
| 7 | 
            +
              data.tar.gz: c4acec171f6316d6067a48f59a132f21dbe812238ffdf3eb890ad0adcc9ac33c1c3951fd5cecdd31b0ee4e92725c2799421cfb1f6d10a4f85734623b84c14dd4
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/lib/simplevpim.rb
    CHANGED
    
    | @@ -2,6 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            # file: simplevpim.rb
         | 
| 4 4 |  | 
| 5 | 
            +
            require 'nokogiri'
         | 
| 5 6 | 
             
            require 'vpim/vcard'
         | 
| 6 7 | 
             
            require 'rexle-builder'
         | 
| 7 8 | 
             
            require 'simple-config'
         | 
| @@ -24,6 +25,10 @@ class SimpleVpim | |
| 24 25 |  | 
| 25 26 | 
             
              alias to_vcf to_vcard
         | 
| 26 27 |  | 
| 28 | 
            +
              def to_xcard()
         | 
| 29 | 
            +
                make_xcard @to_xml    
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
              
         | 
| 27 32 | 
             
              private
         | 
| 28 33 |  | 
| 29 34 | 
             
              def extract_names(name)
         | 
| @@ -32,20 +37,20 @@ class SimpleVpim | |
| 32 37 |  | 
| 33 38 | 
             
                if a.length == 2 then
         | 
| 34 39 |  | 
| 35 | 
            -
                  firstname,  | 
| 40 | 
            +
                  firstname, surname = a[0],nil,a[-1], name
         | 
| 36 41 |  | 
| 37 42 | 
             
                elsif a[0][/^Mrs?|Ms|Miss|Dr/] then
         | 
| 38 43 |  | 
| 39 44 | 
             
                  prefix = a.shift
         | 
| 40 45 |  | 
| 41 46 | 
             
                  if a.length == 2 then
         | 
| 42 | 
            -
                    firstname,  | 
| 47 | 
            +
                    firstname, surname = a[0],nil,a[-1], name
         | 
| 43 48 | 
             
                  else
         | 
| 44 | 
            -
                    [*a, a.join | 
| 49 | 
            +
                    [*a, a.join(' ')]
         | 
| 45 50 | 
             
                  end
         | 
| 46 51 |  | 
| 47 52 | 
             
                else
         | 
| 48 | 
            -
                  [*a, a.join | 
| 53 | 
            +
                  [*a, a.join(' ')]
         | 
| 49 54 | 
             
                end    
         | 
| 50 55 | 
             
              end
         | 
| 51 56 |  | 
| @@ -63,12 +68,12 @@ class SimpleVpim | |
| 63 68 | 
             
                  prefix = h[:prefix]
         | 
| 64 69 | 
             
                  suffix = h[:suffix]
         | 
| 65 70 |  | 
| 66 | 
            -
                  firstname, middlename,  | 
| 71 | 
            +
                  firstname, middlename, surname, fullname = extract_names(h[:name])
         | 
| 67 72 |  | 
| 68 73 | 
             
                  maker.add_name do |name|
         | 
| 69 74 | 
             
                    name.prefix = prefix if prefix
         | 
| 70 75 | 
             
                    name.given = firstname
         | 
| 71 | 
            -
                    name.family =  | 
| 76 | 
            +
                    name.family = surname
         | 
| 72 77 | 
             
                    name.suffix = suffix if suffix
         | 
| 73 78 | 
             
                    name.fullname = fullname if fullname
         | 
| 74 79 | 
             
                  end
         | 
| @@ -146,12 +151,23 @@ class SimpleVpim | |
| 146 151 | 
             
                end
         | 
| 147 152 | 
             
              end
         | 
| 148 153 |  | 
| 154 | 
            +
              def make_xcard(xml)
         | 
| 155 | 
            +
             | 
| 156 | 
            +
                lib = File.dirname(__FILE__)
         | 
| 157 | 
            +
                xsl = File.read File.join(lib,'xcard.xsl')
         | 
| 158 | 
            +
                doc = Nokogiri::XML(xml)
         | 
| 159 | 
            +
                
         | 
| 160 | 
            +
                xslt  = Nokogiri::XSLT(xsl)
         | 
| 161 | 
            +
                xslt.transform(doc).to_s    
         | 
| 162 | 
            +
                
         | 
| 163 | 
            +
              end
         | 
| 164 | 
            +
              
         | 
| 149 165 | 
             
              def vcard_xml(h)
         | 
| 150 166 |  | 
| 151 167 | 
             
                prefix = h[:prefix]
         | 
| 152 168 | 
             
                suffix = h[:suffix]
         | 
| 153 169 |  | 
| 154 | 
            -
                firstname, middlename,  | 
| 170 | 
            +
                firstname, middlename, surname, fullname = extract_names(h[:name])    
         | 
| 155 171 |  | 
| 156 172 | 
             
                xml = RexleBuilder.new
         | 
| 157 173 |  | 
| @@ -159,11 +175,11 @@ class SimpleVpim | |
| 159 175 |  | 
| 160 176 | 
             
                  xml.name do
         | 
| 161 177 |  | 
| 162 | 
            -
                    xml.prefix  | 
| 163 | 
            -
                    xml.given  | 
| 164 | 
            -
                    xml.family  | 
| 165 | 
            -
                    xml.suffix  | 
| 166 | 
            -
                    xml.fullname  | 
| 178 | 
            +
                    xml.prefix prefix if prefix
         | 
| 179 | 
            +
                    xml.given firstname
         | 
| 180 | 
            +
                    xml.family surname
         | 
| 181 | 
            +
                    xml.suffix suffix if suffix
         | 
| 182 | 
            +
                    xml.fullname fullname if fullname
         | 
| 167 183 | 
             
                  end
         | 
| 168 184 |  | 
| 169 185 | 
             
                  # -- email -----------------------------
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: simplevpim
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - James Robertson
         | 
| @@ -31,7 +31,7 @@ cert_chain: | |
| 31 31 | 
             
              h7sjjIWKCtgcFF+5Gf5AtJf6C0PlDSh7mc8uoo2XSef/GV6YvwUrQbPtFakM7LDs
         | 
| 32 32 | 
             
              a3f37q6Z/UCE6w==
         | 
| 33 33 | 
             
              -----END CERTIFICATE-----
         | 
| 34 | 
            -
            date: 2014-11- | 
| 34 | 
            +
            date: 2014-11-10 00:00:00.000000000 Z
         | 
| 35 35 | 
             
            dependencies:
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: simple-config
         | 
| @@ -42,7 +42,7 @@ dependencies: | |
| 42 42 | 
             
                    version: '0.1'
         | 
| 43 43 | 
             
                - - ">="
         | 
| 44 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            -
                    version: 0.1. | 
| 45 | 
            +
                    version: 0.1.13
         | 
| 46 46 | 
             
              type: :runtime
         | 
| 47 47 | 
             
              prerelease: false
         | 
| 48 48 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -52,7 +52,7 @@ dependencies: | |
| 52 52 | 
             
                    version: '0.1'
         | 
| 53 53 | 
             
                - - ">="
         | 
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: 0.1. | 
| 55 | 
            +
                    version: 0.1.13
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 57 | 
             
              name: vpim
         | 
| 58 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -93,6 +93,26 @@ dependencies: | |
| 93 93 | 
             
                - - ">="
         | 
| 94 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 95 | 
             
                    version: 0.1.10
         | 
| 96 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 97 | 
            +
              name: nokogiri
         | 
| 98 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 99 | 
            +
                requirements:
         | 
| 100 | 
            +
                - - "~>"
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            +
                    version: '1.6'
         | 
| 103 | 
            +
                - - ">="
         | 
| 104 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 105 | 
            +
                    version: 1.6.2.1
         | 
| 106 | 
            +
              type: :runtime
         | 
| 107 | 
            +
              prerelease: false
         | 
| 108 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 109 | 
            +
                requirements:
         | 
| 110 | 
            +
                - - "~>"
         | 
| 111 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 112 | 
            +
                    version: '1.6'
         | 
| 113 | 
            +
                - - ">="
         | 
| 114 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 115 | 
            +
                    version: 1.6.2.1
         | 
| 96 116 | 
             
            description: 
         | 
| 97 117 | 
             
            email: james@r0bertson.co.uk
         | 
| 98 118 | 
             
            executables: []
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |