google-spreadsheet-ruby 0.1.3 → 0.1.4
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/lib/google_spreadsheet.rb +46 -6
 - metadata +4 -4
 
    
        data/lib/google_spreadsheet.rb
    CHANGED
    
    | 
         @@ -370,20 +370,41 @@ module GoogleSpreadsheet 
     | 
|
| 
       370 
370 
     | 
    
         
             
                    # URL of worksheet-based feed of the spreadsheet.
         
     | 
| 
       371 
371 
     | 
    
         
             
                    attr_reader(:worksheets_feed_url)
         
     | 
| 
       372 
372 
     | 
    
         | 
| 
       373 
     | 
    
         
            -
                    # Title of the spreadsheet. 
     | 
| 
       374 
     | 
    
         
            -
                    # 
     | 
| 
       375 
     | 
    
         
            -
                     
     | 
| 
      
 373 
     | 
    
         
            +
                    # Title of the spreadsheet.
         
     | 
| 
      
 374 
     | 
    
         
            +
                    #
         
     | 
| 
      
 375 
     | 
    
         
            +
                    # Set params[:reload] to true to force reloading the title.
         
     | 
| 
      
 376 
     | 
    
         
            +
                    def title(params = {})
         
     | 
| 
      
 377 
     | 
    
         
            +
                      if !@title || params[:reload]
         
     | 
| 
      
 378 
     | 
    
         
            +
                        @title = spreadsheet_feed_entry(params).css("title").text
         
     | 
| 
      
 379 
     | 
    
         
            +
                      end
         
     | 
| 
      
 380 
     | 
    
         
            +
                      return @title
         
     | 
| 
      
 381 
     | 
    
         
            +
                    end
         
     | 
| 
       376 
382 
     | 
    
         | 
| 
       377 
383 
     | 
    
         
             
                    # Key of the spreadsheet.
         
     | 
| 
       378 
384 
     | 
    
         
             
                    def key
         
     | 
| 
       379 
385 
     | 
    
         
             
                      if !(@worksheets_feed_url =~
         
     | 
| 
       380 
     | 
    
         
            -
                          %r{^https?://spreadsheets.google.com/feeds/worksheets/(.*)/private 
     | 
| 
      
 386 
     | 
    
         
            +
                          %r{^https?://spreadsheets.google.com/feeds/worksheets/(.*)/private/.*$})
         
     | 
| 
       381 
387 
     | 
    
         
             
                        raise(GoogleSpreadsheet::Error,
         
     | 
| 
       382 
388 
     | 
    
         
             
                          "worksheets feed URL is in unknown format: #{@worksheets_feed_url}")
         
     | 
| 
       383 
389 
     | 
    
         
             
                      end
         
     | 
| 
       384 
390 
     | 
    
         
             
                      return $1
         
     | 
| 
       385 
391 
     | 
    
         
             
                    end
         
     | 
| 
      
 392 
     | 
    
         
            +
                    
         
     | 
| 
      
 393 
     | 
    
         
            +
                    # Spreadsheet feed URL of the spreadsheet.
         
     | 
| 
      
 394 
     | 
    
         
            +
                    def spreadsheet_feed_url
         
     | 
| 
      
 395 
     | 
    
         
            +
                      return "https://spreadsheets.google.com/feeds/spreadsheets/private/full/#{self.key}"
         
     | 
| 
      
 396 
     | 
    
         
            +
                    end
         
     | 
| 
      
 397 
     | 
    
         
            +
                    
         
     | 
| 
      
 398 
     | 
    
         
            +
                    # URL which you can open the spreadsheet in a Web browser with.
         
     | 
| 
      
 399 
     | 
    
         
            +
                    #
         
     | 
| 
      
 400 
     | 
    
         
            +
                    # e.g. "http://spreadsheets.google.com/ccc?key=pz7XtlQC-PYx-jrVMJErTcg"
         
     | 
| 
      
 401 
     | 
    
         
            +
                    def human_url
         
     | 
| 
      
 402 
     | 
    
         
            +
                      return self.spreadsheet_feed_entry.css("link[@rel='alternate']").first["href"]
         
     | 
| 
      
 403 
     | 
    
         
            +
                    end
         
     | 
| 
       386 
404 
     | 
    
         | 
| 
      
 405 
     | 
    
         
            +
                    # DEPRECATED: Table and Record feeds are deprecated and they will not be available after
         
     | 
| 
      
 406 
     | 
    
         
            +
                    # March 2012.
         
     | 
| 
      
 407 
     | 
    
         
            +
                    #
         
     | 
| 
       387 
408 
     | 
    
         
             
                    # Tables feed URL of the spreadsheet.
         
     | 
| 
       388 
409 
     | 
    
         
             
                    def tables_feed_url
         
     | 
| 
       389 
410 
     | 
    
         
             
                      return "https://spreadsheets.google.com/feeds/#{self.key}/tables"
         
     | 
| 
         @@ -394,6 +415,16 @@ module GoogleSpreadsheet 
     | 
|
| 
       394 
415 
     | 
    
         
             
                      return "https://docs.google.com/feeds/documents/private/full/spreadsheet%3A#{self.key}"
         
     | 
| 
       395 
416 
     | 
    
         
             
                    end
         
     | 
| 
       396 
417 
     | 
    
         | 
| 
      
 418 
     | 
    
         
            +
                    # <entry> element of spreadsheet feed as Nokogiri::XML::Element.
         
     | 
| 
      
 419 
     | 
    
         
            +
                    #
         
     | 
| 
      
 420 
     | 
    
         
            +
                    # Set params[:reload] to true to force reloading the feed.
         
     | 
| 
      
 421 
     | 
    
         
            +
                    def spreadsheet_feed_entry(params = {})
         
     | 
| 
      
 422 
     | 
    
         
            +
                      if !@spreadsheet_feed_entry || params[:reload]
         
     | 
| 
      
 423 
     | 
    
         
            +
                        @spreadsheet_feed_entry = @session.request(:get, self.spreadsheet_feed_url).css("entry").first
         
     | 
| 
      
 424 
     | 
    
         
            +
                      end
         
     | 
| 
      
 425 
     | 
    
         
            +
                      return @spreadsheet_feed_entry
         
     | 
| 
      
 426 
     | 
    
         
            +
                    end
         
     | 
| 
      
 427 
     | 
    
         
            +
                    
         
     | 
| 
       397 
428 
     | 
    
         
             
                    # Creates copy of this spreadsheet with the given name.
         
     | 
| 
       398 
429 
     | 
    
         
             
                    def duplicate(new_name = nil)
         
     | 
| 
       399 
430 
     | 
    
         
             
                      new_name ||= (@title ? "Copy of " + @title : "Untitled")
         
     | 
| 
         @@ -407,7 +438,7 @@ module GoogleSpreadsheet 
     | 
|
| 
       407 
438 
     | 
    
         
             
                      }
         
     | 
| 
       408 
439 
     | 
    
         
             
                      doc = @session.request(:post, url, :data => ods, :auth => :writely, :header => header)
         
     | 
| 
       409 
440 
     | 
    
         
             
                      ss_url = doc.css(
         
     | 
| 
       410 
     | 
    
         
            -
                        "link[@rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed']").first[ 
     | 
| 
      
 441 
     | 
    
         
            +
                        "link[@rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed']").first["href"]
         
     | 
| 
       411 
442 
     | 
    
         
             
                      return Spreadsheet.new(@session, ss_url, title)
         
     | 
| 
       412 
443 
     | 
    
         
             
                    end
         
     | 
| 
       413 
444 
     | 
    
         | 
| 
         @@ -422,7 +453,7 @@ module GoogleSpreadsheet 
     | 
|
| 
       422 
453 
     | 
    
         
             
                    # Renames title of the spreadsheet.
         
     | 
| 
       423 
454 
     | 
    
         
             
                    def rename(title)
         
     | 
| 
       424 
455 
     | 
    
         
             
                      doc = @session.request(:get, self.document_feed_url)
         
     | 
| 
       425 
     | 
    
         
            -
                      edit_url = doc.css("link[@rel='edit']").first[ 
     | 
| 
      
 456 
     | 
    
         
            +
                      edit_url = doc.css("link[@rel='edit']").first["href"]
         
     | 
| 
       426 
457 
     | 
    
         
             
                      xml = <<-"EOS"
         
     | 
| 
       427 
458 
     | 
    
         
             
                        <atom:entry
         
     | 
| 
       428 
459 
     | 
    
         
             
                            xmlns:atom="http://www.w3.org/2005/Atom"
         
     | 
| 
         @@ -466,6 +497,9 @@ module GoogleSpreadsheet 
     | 
|
| 
       466 
497 
     | 
    
         
             
                      return Worksheet.new(@session, self, url, title)
         
     | 
| 
       467 
498 
     | 
    
         
             
                    end
         
     | 
| 
       468 
499 
     | 
    
         | 
| 
      
 500 
     | 
    
         
            +
                    # DEPRECATED: Table and Record feeds are deprecated and they will not be available after
         
     | 
| 
      
 501 
     | 
    
         
            +
                    # March 2012.
         
     | 
| 
      
 502 
     | 
    
         
            +
                    #
         
     | 
| 
       469 
503 
     | 
    
         
             
                    # Returns list of tables in the spreadsheet.
         
     | 
| 
       470 
504 
     | 
    
         
             
                    def tables
         
     | 
| 
       471 
505 
     | 
    
         
             
                      doc = @session.request(:get, self.tables_feed_url)
         
     | 
| 
         @@ -474,6 +508,9 @@ module GoogleSpreadsheet 
     | 
|
| 
       474 
508 
     | 
    
         | 
| 
       475 
509 
     | 
    
         
             
                end
         
     | 
| 
       476 
510 
     | 
    
         | 
| 
      
 511 
     | 
    
         
            +
                # DEPRECATED: Table and Record feeds are deprecated and they will not be available after
         
     | 
| 
      
 512 
     | 
    
         
            +
                # March 2012.
         
     | 
| 
      
 513 
     | 
    
         
            +
                #
         
     | 
| 
       477 
514 
     | 
    
         
             
                # Use GoogleSpreadsheet::Worksheet#add_table to create table.
         
     | 
| 
       478 
515 
     | 
    
         
             
                # Use GoogleSpreadsheet::Worksheet#tables to get GoogleSpreadsheet::Table objects.
         
     | 
| 
       479 
516 
     | 
    
         
             
                class Table
         
     | 
| 
         @@ -520,6 +557,9 @@ module GoogleSpreadsheet 
     | 
|
| 
       520 
557 
     | 
    
         | 
| 
       521 
558 
     | 
    
         
             
                end
         
     | 
| 
       522 
559 
     | 
    
         | 
| 
      
 560 
     | 
    
         
            +
                # DEPRECATED: Table and Record feeds are deprecated and they will not be available after
         
     | 
| 
      
 561 
     | 
    
         
            +
                # March 2012.
         
     | 
| 
      
 562 
     | 
    
         
            +
                #
         
     | 
| 
       523 
563 
     | 
    
         
             
                # Use GoogleSpreadsheet::Table#records to get GoogleSpreadsheet::Record objects.
         
     | 
| 
       524 
564 
     | 
    
         
             
                class Record < Hash
         
     | 
| 
       525 
565 
     | 
    
         
             
                    include(Util)
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: google-spreadsheet-ruby
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 19
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 1
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 4
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.1.4
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Hiroshi Ichikawa
         
     | 
| 
         @@ -15,7 +15,7 @@ autorequire: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
16 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2011-05- 
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2011-05-12 00:00:00 +09:00
         
     | 
| 
       19 
19 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
21 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     |