sugarcube 3.1.1 → 3.2.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
- data/README.md +7 -0
- data/lib/cocoa/sugarcube-attributedstring/nsattributedstring.rb +14 -0
- data/lib/version.rb +1 -1
- data/spec/cocoa/nsattributedstring_spec.rb +44 -0
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 32effb6255d9b0220098e834105e2fd8f834dac7
         | 
| 4 | 
            +
              data.tar.gz: 2cf5ff2af3a74665f6ac6504ea6e3e87dc771ab5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e22726d90c3d3b60032ff9bb6641c6bcd525a9e6501038a62ca3e3f39bbb97090aa7aa1dd92d604309c2240b4d24dffcadc42951440b3b09b52ed7650f74b5e7
         | 
| 7 | 
            +
              data.tar.gz: 20412c7a032a5ab3a5cdb90e5018214300b4e6d3cb30580ae5c992393cde2267265fb51e67ef17ee45e51ba62c89daaf2cc77c56553684cfcef5f37c4d7b90f7
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1268,6 +1268,13 @@ issues with missing constants). | |
| 1268 1268 | 
             
            # And there's where it gets FUN:
         | 
| 1269 1269 | 
             
            ('This'.italic + ' is going to be ' + 'FUN'.bold).underline
         | 
| 1270 1270 |  | 
| 1271 | 
            +
            # and if you need to join a bunch of strings, there's a helper for that!
         | 
| 1272 | 
            +
            ['This', 'is'.bold, 'handy!'].join_attrd(' ')
         | 
| 1273 | 
            +
            # or join plain strings with an attributed string:
         | 
| 1274 | 
            +
            ['a', 'b', 'c'].join_attrd('-'.bold)
         | 
| 1275 | 
            +
            # join_attrd will *always* return an NSAttributedString
         | 
| 1276 | 
            +
            ['a', 'b', 'c'].join_attrd(' ')  # == NSAttributedString ('a b c')
         | 
| 1277 | 
            +
             | 
| 1271 1278 | 
             
            # You can even generate attributed text from html!  This feature uses the
         | 
| 1272 1279 | 
             
            # NSHTMLTextDocumentType option to convert the html to NSAttributedString
         | 
| 1273 1280 | 
             
            'Why on <b>earth<b> would you want to do <em>that</em>?'.attributed_html
         | 
| @@ -148,3 +148,17 @@ class NSMutableAttributedString | |
| 148 148 | 
             
              end
         | 
| 149 149 |  | 
| 150 150 | 
             
            end
         | 
| 151 | 
            +
             | 
| 152 | 
            +
            class Array
         | 
| 153 | 
            +
             | 
| 154 | 
            +
              # Detects if any part of an array is an NSAttributedString and joins them
         | 
| 155 | 
            +
              # Otherwise, just joins the array.
         | 
| 156 | 
            +
              def join_attrd(connector=nil)
         | 
| 157 | 
            +
                joining = "".attrd
         | 
| 158 | 
            +
                each_with_index do |attrd_str, index|
         | 
| 159 | 
            +
                  joining << connector if connector && index > 0
         | 
| 160 | 
            +
                  joining << attrd_str
         | 
| 161 | 
            +
                end
         | 
| 162 | 
            +
                joining
         | 
| 163 | 
            +
              end
         | 
| 164 | 
            +
            end
         | 
    
        data/lib/version.rb
    CHANGED
    
    
| @@ -54,7 +54,51 @@ describe 'NSAttributeString' do | |
| 54 54 | 
             
                  "test\n  ".attrd.strip.should == 'test'.attrd
         | 
| 55 55 | 
             
                  "  \n test".attrd.strip.should == 'test'.attrd
         | 
| 56 56 | 
             
                end
         | 
| 57 | 
            +
              end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
              describe "should allow joining an array of attributed strings" do
         | 
| 60 | 
            +
                it "should turn an array of strings into an attributed string" do
         | 
| 61 | 
            +
                  joined = ['a', 'b', 'c'].join_attrd
         | 
| 62 | 
            +
                  joined.is_a?(NSAttributedString).should == true
         | 
| 63 | 
            +
                  joined.is_a?(NSString).should == false
         | 
| 64 | 
            +
                  joined.isEqualToAttributedString('abc'.attrd).should == true
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                  joined2 = ['a', 'b', 'c'].join_attrd('-')
         | 
| 67 | 
            +
                  joined2.isEqualToAttributedString('a-b-c'.attrd).should == true
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                it "should join attributed strings" do
         | 
| 71 | 
            +
                  joined = ['a'.attrd, 'b'.attrd, 'c'.attrd].join_attrd
         | 
| 72 | 
            +
                  joined.is_a?(NSAttributedString).should == true
         | 
| 73 | 
            +
                end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                it "should create an attributed string even when only one item is attributed" do
         | 
| 76 | 
            +
                  joined = ['a', 'b', 'c'.attrd].join_attrd
         | 
| 77 | 
            +
                  joined.is_a?(NSAttributedString).should == true
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                  joined2 = ['a', 'b'.attrd, 'c'].join_attrd
         | 
| 80 | 
            +
                  joined2.is_a?(NSAttributedString).should == true
         | 
| 81 | 
            +
                end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                it "should preserve attributes when joining" do
         | 
| 84 | 
            +
                  joined = ['a'.italic, 'b'.bold, 'c'.underline].join_attrd
         | 
| 85 | 
            +
                  joined.isEqualToAttributedString('a'.italic + 'b'.bold + 'c'.underline).should == true
         | 
| 86 | 
            +
                end
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                it "should join with a string" do
         | 
| 89 | 
            +
                  joined = ['a'.bold, 'b', 'c'].join_attrd('-')
         | 
| 90 | 
            +
                  joined.isEqualToAttributedString('a'.bold + '-' + 'b' + '-' + 'c').should == true
         | 
| 91 | 
            +
                end
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                it "should join with an attributed string" do
         | 
| 94 | 
            +
                  joined = ['a'.bold, 'b', 'c'].join_attrd('-'.bold)
         | 
| 95 | 
            +
                  joined.isEqualToAttributedString('a'.bold + '-'.bold + 'b' + '-'.bold + 'c').should == true
         | 
| 96 | 
            +
                end
         | 
| 57 97 |  | 
| 98 | 
            +
                it "should join an array of strings with an attributed connector" do
         | 
| 99 | 
            +
                  joined = ['a', 'b', 'c'].join_attrd('-'.bold)
         | 
| 100 | 
            +
                  joined.isEqualToAttributedString('a'.attrd + '-'.bold + 'b' + '-'.bold + 'c').should == true
         | 
| 101 | 
            +
                end
         | 
| 58 102 | 
             
              end
         | 
| 59 103 |  | 
| 60 104 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,17 +1,18 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sugarcube
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3. | 
| 4 | 
            +
              version: 3.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Colin T.A. Gray
         | 
| 8 8 | 
             
            - Katsuyoshi Ito
         | 
| 9 9 | 
             
            - Thom Parkin
         | 
| 10 10 | 
             
            - Michael Erasmus
         | 
| 11 | 
            +
            - Mark Rickert
         | 
| 11 12 | 
             
            autorequire: 
         | 
| 12 13 | 
             
            bindir: bin
         | 
| 13 14 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date: 2015-01- | 
| 15 | 
            +
            date: 2015-01-30 00:00:00.000000000 Z
         | 
| 15 16 | 
             
            dependencies: []
         | 
| 16 17 | 
             
            description: |
         | 
| 17 18 | 
             
              == Description
         | 
| @@ -27,6 +28,7 @@ description: | | |
| 27 28 | 
             
              idiomatic: `view << subview`.
         | 
| 28 29 | 
             
            email:
         | 
| 29 30 | 
             
            - colin@hipbyte.com
         | 
| 31 | 
            +
            - mjar81@gmail.com
         | 
| 30 32 | 
             
            executables: []
         | 
| 31 33 | 
             
            extensions: []
         | 
| 32 34 | 
             
            extra_rdoc_files: []
         |