| | 424 | |
| | 425 | =begin |
| | 426 | require 'rubygems' |
| | 427 | require 'active_support' |
| | 428 | class Giant |
| | 429 | delegate :work, :carry, :buy, :to=>"@nobit" |
| | 430 | end |
| | 431 | |
| | 432 | giant = Giant.new |
| | 433 | giant.work |
| | 434 | =end |
| | 435 | |
| | 436 | =begin |
| | 437 | require 'rubygems' |
| | 438 | require 'active_support' |
| | 439 | class HashAccess |
| | 440 | delegate :[], :[]=, :to=>"(@option ||= {})" |
| | 441 | end |
| | 442 | |
| | 443 | hash = HashAccess.new |
| | 444 | hash[:a] = 1 |
| | 445 | p hash[:a] |
| | 446 | =end |
| | 447 | |
| | 448 | =begin |
| | 449 | require 'rubygems' |
| | 450 | require 'active_record' |
| | 451 | class Item < ActiveRecord::Base |
| | 452 | def name_column_information |
| | 453 | self.class.columns["name"] |
| | 454 | end |
| | 455 | end |
| | 456 | =end |
| | 457 | |
| | 458 | =begin |
| | 459 | require 'rubygems' |
| | 460 | require 'active_record' |
| | 461 | class Item < ActiveRecord::Base |
| | 462 | delegate :columns, :to=>"self.class" |
| | 463 | |
| | 464 | def name_column_information |
| | 465 | columns["name"] |
| | 466 | end |
| | 467 | end |
| | 468 | =end |
| | 469 | |
| | 470 | =begin |
| | 471 | require 'rubygems' |
| | 472 | require 'active_record' |
| | 473 | class Item < ActiveRecord::Base |
| | 474 | def hello |
| | 475 | self.class.logger.debug("Itemクラスのhello実行中") |
| | 476 | end |
| | 477 | end |
| | 478 | =end |
| | 479 | |
| | 480 | =begin |
| | 481 | require 'rubygems' |
| | 482 | require 'active_record' |
| | 483 | class Item < ActiveRecord::Base |
| | 484 | delegate :logger, :to=>"self.class" |
| | 485 | delegate :debug, :to=>"self.class.logger" |
| | 486 | |
| | 487 | def hello |
| | 488 | logger.info("Itemクラスのhello実施中") |
| | 489 | debug("現在の時刻: #{Time.now}") |
| | 490 | end |
| | 491 | end |
| | 492 | =end |
| | 493 | |
| | 494 | =begin |
| | 495 | require 'rubygems' |
| | 496 | require 'active_record' |
| | 497 | class Parser |
| | 498 | delegate :logger, :to=>"ActiveRecord::Base" |
| | 499 | |
| | 500 | def execute |
| | 501 | logger.debug("処理を開始します") |
| | 502 | end |
| | 503 | end |
| | 504 | =end |
| | 505 | |
| | 506 | =begin |
| | 507 | member = Member.find(14) |
| | 508 | member[:address] = "東京都渋谷区" |
| | 509 | member.save |
| | 510 | =end |
| | 511 | |
| | 512 | =begin |
| | 513 | CREATE TABLE syslogs ( |
| | 514 | id int(11) NOT NULL auto_increment, |
| | 515 | priority int(3), |
| | 516 | message varchar(256) default NULL |
| | 517 | =end |
| | 518 | |
| | 519 | =begin |
| | 520 | class Syslog < ActiveRecord::Base |
| | 521 | end |
| | 522 | =end |
| | 523 | |
| | 524 | =begin |
| | 525 | class Syslog < ActiveRecord::Base |
| | 526 | set_primary_key :id |
| | 527 | set_table_name :syslogs |
| | 528 | end |
| | 529 | =end |
| | 530 | |
| | 531 | =begin |
| | 532 | Syslog.colomn_names |
| | 533 | Syslog.columns.map(&:sql_type) |
| | 534 | Syslog.columns.map(&:klass) |
| | 535 | Syslog.columns_hash["priority"].number? |
| | 536 | =end |
| | 537 | |
| | 538 | =begin |
| | 539 | require 'rubygems' |
| | 540 | require 'active_support' |
| | 541 | p "Syslog".underscore # "syslog" |
| | 542 | p "Syslog".pluralize # "Syslogs" |
| | 543 | p "Syslog".underscore.pluralize # "syslogs" |
| | 544 | p "MaihaMan".underscore.pluralize # "maiha_men" |
| | 545 | =end |
| | 546 | |
| | 547 | =begin |
| | 548 | ActiveRecord::Base.pluralize_tabale_names = false |
| | 549 | =end |
| | 550 | |
| | 551 | =begin |
| | 552 | Rails::Initializer.run do |config| |
| | 553 | config.active_record.pluralize_tabale_names = false |
| | 554 | end |
| | 555 | =end |
| | 556 | |
| | 557 | =begin |
| | 558 | p Member.table_name |
| | 559 | Member.pluralize_tabale_names = false |
| | 560 | p Member.table_name |
| | 561 | =end |
| | 562 | |
| | 563 | =begin |
| | 564 | Member.reset_table_name |
| | 565 | p Member.table_name |
| | 566 | =end |
| | 567 | |
| | 568 | =begin |
| | 569 | INSERT INTO syslogs (message, priority) VALUES ('なにやらエラーです', 5); |
| | 570 | =end |
| | 571 | |
| | 572 | =begin |
| | 573 | syslog = Syslog.new |
| | 574 | syslog.message = 'なにやらエラーです' |
| | 575 | syslog.priority = 5 |
| | 576 | syslog.save |
| | 577 | =end |
| | 578 | |
| | 579 | =begin |
| | 580 | SELECT * FROM syslogs; |
| | 581 | =end |
| | 582 | |
| | 583 | =begin |
| | 584 | Syslog.find(:all) |
| | 585 | =end |
| | 586 | |
| | 587 | =begin |
| | 588 | UPDATE syslogs SET priority = 4 WHERE id = 1; |
| | 589 | =end |
| | 590 | |
| | 591 | =begin |
| | 592 | Syslog.update(1, :priority=>4) |
| | 593 | =end |
| | 594 | |
| | 595 | =begin |
| | 596 | DELETE FROM syslogs WHERE id = 1; |
| | 597 | =end |
| | 598 | |
| | 599 | =begin |
| | 600 | Syslog.delete(1) |
| | 601 | =end |
| | 602 | |
| | 603 | =begin |
| | 604 | object = Syslog.new |
| | 605 | =end |
| | 606 | |
| | 607 | =begin |
| | 608 | object.class |
| | 609 | =end |
| | 610 | |
| | 611 | =begin |
| | 612 | syslog = Syslog.new |
| | 613 | syslog.priority |
| | 614 | syslog.message |
| | 615 | =end |
| | 616 | |
| | 617 | =begin |
| | 618 | syslog = Syslog.new |
| | 619 | syslog.priority = 1 |
| | 620 | syslog.message = "ちょっと不具合" |
| | 621 | =end |
| | 622 | |
| | 623 | =begin |
| | 624 | p syslog.priority |
| | 625 | p syslog.message |
| | 626 | =end |
| | 627 | |
| | 628 | =begin |
| | 629 | p syslog["priority"] |
| | 630 | p syslog["Priority"] |
| | 631 | p syslog[:priority] |
| | 632 | p syslog[:priority] = 3 |
| | 633 | |
| | 634 | for key in [:priority, :message] |
| | 635 | p syslog[key] |
| | 636 | end |
| | 637 | =end |
| | 638 | |
| | 639 | =begin |
| | 640 | syslog = Syslog.new(:message=>"障害発生", :priority=>3) |
| | 641 | p syslog.priority |
| | 642 | p syslog.message |
| | 643 | =end |
| | 644 | |
| | 645 | =begin |
| | 646 | syslog.attributes |
| | 647 | =end |
| | 648 | |
| | 649 | =begin |
| | 650 | syslog = Syslog.new |
| | 651 | syslog.priority = 1 |
| | 652 | syslog.message = "ちょこっと不具合" |
| | 653 | syslog.save |
| | 654 | =end |
| | 655 | |
| | 656 | =begin |
| | 657 | if syslog.save |
| | 658 | puts "保存完了" |
| | 659 | p syslog.id |
| | 660 | else |
| | 661 | puts "エラー" |
| | 662 | p syslog.id |
| | 663 | end |
| | 664 | =end |
| | 665 | |
| | 666 | =begin |
| | 667 | syslog.save! |
| | 668 | =end |
| | 669 | |
| | 670 | =begin |
| | 671 | Syslog.create(:priority=>1, :message=>"何か様子がヘンです") |
| | 672 | =end |
| | 673 | |
| | 674 | =begin |
| | 675 | syslog = Syslog.create(:message=>"エラーです") |
| | 676 | p syslog.new_record? |
| | 677 | p syslog.id |
| | 678 | |
| | 679 | syslog = Syslog.create(:message=>1) |
| | 680 | p syslog.new_record? |
| | 681 | p syslog.id |
| | 682 | =end |
| | 683 | |
| | 684 | =begin |
| | 685 | syslog = Syslog.find(3) |
| | 686 | p syslog.class |
| | 687 | p syslog.priority |
| | 688 | p syslog.message |
| | 689 | =end |
| | 690 | |
| | 691 | =begin |
| | 692 | syslogs = Syslog.find([1,3]) |
| | 693 | syslogs = Syslog.find(1,3) |
| | 694 | |
| | 695 | syslogs.class # Array |
| | 696 | syslogs.size # 2 |
| | 697 | syslogs[0].message |
| | 698 | syslogs[1].message |
| | 699 | =end |
| | 700 | |
| | 701 | =begin |
| | 702 | syslogs = syslog.find([3]) |
| | 703 | p syslogs.class # Array |
| | 704 | p syslogs.size # 1 |
| | 705 | p syslogs[0].message |
| | 706 | =end |
| | 707 | |
| | 708 | =begin |
| | 709 | syslog = Syslog.find(1) |
| | 710 | syslog.priority = 10 |
| | 711 | if syslog.save |
| | 712 | puts "更新が完了しました" |
| | 713 | else |
| | 714 | puts "更新が失敗しました" |
| | 715 | end |
| | 716 | =end |
| | 717 | |
| | 718 | =begin |
| | 719 | syslog = Syslog.find(1) |
| | 720 | syslog.update_attribute(:priority, 10) |
| | 721 | =end |
| | 722 | |
| | 723 | =begin |
| | 724 | syslog = Syslog.find(1) |
| | 725 | syslog.update_attributes(:priority=>10, :message=>"緊急事態です") |
| | 726 | =end |
| | 727 | |
| | 728 | =begin |
| | 729 | Syslog.update(1, :priority=>10) |
| | 730 | =end |
| | 731 | |
| | 732 | =begin |
| | 733 | Syslog.update([1,2], [{ :priority=>10}, { :priority=>10}]) |
| | 734 | =end |
| | 735 | |
| | 736 | =begin |
| | 737 | Syslog.update_all("priority = 10", "id = 1") |
| | 738 | =end |
| | 739 | |
| | 740 | =begin |
| | 741 | syslog = Syslog.find(1) |
| | 742 | p syslog.frozen? # false |
| | 743 | syslog.destroy |
| | 744 | |
| | 745 | syslog.frozen? # true |
| | 746 | syslog.priority # 1 |
| | 747 | syslog.priority = 5 # TypeError |
| | 748 | =end |
| | 749 | |
| | 750 | =begin |
| | 751 | Syslog.delete(1) |
| | 752 | Syslog.delete([1,2,3]) |
| | 753 | =end |
| | 754 | |
| | 755 | =begin |
| | 756 | Syslog.delete_all("id = 1") |
| | 757 | Syslog.delete_all("priority < 5 OR message IS NULL") |
| | 758 | =end |
| | 759 | |
| | 760 | =begin |
| | 761 | Syslog.destroy(1) |
| | 762 | =end |
| | 763 | |
| | 764 | =begin |
| | 765 | Syslog.destroy_all("priority IS NULL") |
| | 766 | =end |
| | 767 | |
| | 768 | =begin |
| | 769 | syslog = Syslog.find(:first) |
| | 770 | p syslog.id |
| | 771 | =end |
| | 772 | |
| | 773 | =begin |
| | 774 | syslogs = Syslog.find(:all) |
| | 775 | p syslogs.class |
| | 776 | p syslogs.size |
| | 777 | p syslogs[0].message |
| | 778 | p syslogs[1].message |
| | 779 | =end |
| | 780 | |
| | 781 | =begin |
| | 782 | # SELECT * FROM syslogs WHERE priority =5 |
| | 783 | syslogs = Syslog.find(:all, :conditions=>"priority = 5") |
| | 784 | p syslogs.class # Array |
| | 785 | p syslogs.size # 2 |
| | 786 | =end |
| | 787 | |
| | 788 | =begin |
| | 789 | # SELECT * FROM syslogs WHERE priority > 5 AND message = '緊急事態' |
| | 790 | syslogs = Syslog.find(:all, :conditions=>"priority > 5 AND message = '緊急事態'") |
| | 791 | p syslogs.class # Array |
| | 792 | p syslogs.size # 0 |
| | 793 | =end |
| | 794 | |
| | 795 | =begin |
| | 796 | Syslog.find(:all, :conditions=>["priority = ?" , 5]) |
| | 797 | # SELECT * FROM syslogs WHERE (priority = 5) |
| | 798 | =end |
| | 799 | |
| | 800 | =begin |
| | 801 | Syslog.find(:all, :conditions=>[":priority > ? AND message = ?", 5, '緊急事態']) |
| | 802 | # SELECT * FROM syslogs WHERE (priority > 5 AND message = '緊急事態') |
| | 803 | =end |
| | 804 | |
| | 805 | =begin |
| | 806 | where = "priority > :priority AND message = :message" |
| | 807 | values = { :priority => 5, :message => '緊急事態'} |
| | 808 | syslogs = Syslog.find(:all, :conditions=>[where, values]) |
| | 809 | # SELECT * FROM syslogs WHERE (priority > 5 AND message = '緊急事態') |
| | 810 | =end |
| | 811 | |
| | 812 | =begin |
| | 813 | Syslog.find(:all, :conditions=>["priority IN (?)", [3,4,5]]) |
| | 814 | # SELECT * FROM syslogs WHERE priority IN (3,4,5) |
| | 815 | =end |
| | 816 | |
| | 817 | =begin |
| | 818 | Syslog.find(:first, :order=>"id") |
| | 819 | # SELECT * FROM syslogs ORDER BY id LIMIT 1 |
| | 820 | |
| | 821 | Syslog.find(:all, :order=>"priority DESC, id", :limit => 20) |
| | 822 | # SELECT * FROM syslogs ORDER BY priority DESC, id LIMIT 20 |
| | 823 | =end |
| | 824 | |