SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

RoRのWebサービスと連携する、Adobe AIRアプリケーションの自動生成

Adobe AIRアプリケーションの自動生成とWebサービスとの連携

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (7.7 KB)

Dictionaryの作成

 英語の列名を日本語へ変換するために、下記のようなテーブルを利用します。

0xx_create_dictionary.rb
class CreateDictionary < ActiveRecord::Migration
  def self.up
    # 辞書マスタの作成
    create_table :dictionaries do |t|
      t.column :english , :string
      t.column :japanese, :string
    end

  end

  def self.down
    drop_table :dictionaries
  end
end

 下記のscaffoldコマンドでアプリケーションを生成します。

scaffoldコマンドの実行
ruby script/generate scaffold Dictionary

 「http://localhost:3000/dictionaries/」へアクセスすることで、Dictionaryテーブルをブラウザからメンテナンスできます。

ActionWebServiceへのFindByIdの追加

 記事『Rails ActionWebServiceジェネレータのカスタマイズ』で作成したActionWebServiceにFindByIdメソッドを追加します。これにより、レコード更新画面のオープン時に呼ばれるウェブサービスメソッドが用意されます。

mst_group_service_controller.rbへ追加するコード
  #-------------------------------------------------------------------
  # グループIDを条件にレコードを取得します。
  #-------------------------------------------------------------------
  def find_by_id(arg_id)
    MstGroup.find_by_id(arg_id);
  end
mst_group_service_api.rbへ追加するコード
  api_method :find_by_id,
    :expects=>[{:arg_id=>:integer}],
    :returns=>[MstGroup]

AIR版メンテナンスアプリケーションジェネレータによるアプリケーションの生成

AirMaintenanceGeneratorの実行

 図5に示されるように、AirMaintenanceGeneratorは、コマンドラインから実行することができます。

AirMaintenanceGeneratorの実行
ruby script/generate air_maintenance MstGroup
図5 AIR版メンテナンスアプリケーションはコマンドラインから実行できる
図5 AIR版メンテナンスアプリケーションはコマンドラインから実行できる

WEBrickの実行

 「RAILS_ROOT\air-source」以下に生成されたアプリケーションを実行する前に、WEBrickを起動することで、サーバ側のロジックを呼び出し可能な状態にします。RAILSのアプリケーションを生成したルートディレクトリをカレントディレクトリに設定し、下記のコマンドにより、WEBrickを起動します。

WEBrickの実行
ruby script/server

自動生成したアプリケーションの実行

 「RAILS_ROOT\air-source」以下に生成されたアプリケーションは、下記のようにコンパイルし、adlコマンドで実行できます。

コンパイルと実行
amxmlc MstGroup.as
amxmlc MstGroupList.mxml
adl mst_group-app.xml
図6 実際に生成されたクラス
図6 実際に生成されたクラス

 adlコマンドにより生成したアプリケーションを実行すると、図7のようになります。

図7 生成したAIR版メンテナンスアプリケーションの実行
図7 生成したAIR版メンテナンスアプリケーションの実行

まとめ

 本稿では、AIRの生産性を向上させる試みの一環として、AIR版のメンテナンスアプリケーションのジェネレータを作成しました。同様の方法でさらに機能を追加していけば、より実用的になると思います。本稿で紹介した内容が、読者の皆さんの労力削減に役立てば幸いです。

参考資料

「FlexではじめるRIA開発」特集、絶賛公開中!

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

ryujinseiichi(リュウジンセイイチ)

http://ryujinseiichi.sblo.jp/ RubyやAIRなどの新規技術に興味があり、研究を行っています。 最近、seasar2やBPMの研究も始めました。  

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2715 2009/10/20 17:09

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング